.text:000000000002394D lea rax, sub_2CEF0 .text:0000000000023954 mov [rdi+4E4h], rax .text:000000000002395B lea rax, sub_2D100 .text:0000000000023962 mov [rdi+4ECh], rax .text:0000000000023969 lea rax, sub_2D2C0 .text:0000000000023970 mov [rdi+4F4h], rax .text:0000000000023977 lea rax, sub_2D410 .text:000000000002397E mov [rdi+4FCh], rax .text:0000000000023985 lea rax, sub_2D3A0 .text:000000000002398C mov [rdi+504h], rax .text:0000000000023993 lea rax, sub_2D670 .text:000000000002399A mov [rdi+50Ch], rax .text:00000000000239A1 lea rax, sub_2D7D0 .text:00000000000239A8 mov [rdi+514h], rax .text:00000000000239AF lea rax, sub_2A830 .text:00000000000239B6 mov [rdi+51Ch], rax .text:00000000000239BD lea rax, sub_22330 .text:00000000000239C4 mov [rdi+564h], rax .text:00000000000239CB lea rax, sub_22380 .text:00000000000239D2 mov [rdi+56Ch], rax .text:00000000000239D9 lea rax, sub_223D0 .text:00000000000239E0 mov [rdi+574h], rax .text:00000000000239E7 lea rax, sub_220B0 .text:00000000000239EE mov [rdi+57Ch], rax .text:00000000000239F5 lea rax, sub_22210 .text:00000000000239FC mov [rdi+584h], rax .text:0000000000023A03 lea rax, sub_224A0 .text:0000000000023A0A mov [rdi+58Ch], rax .text:0000000000023A11 lea rax, sub_225A0 .text:0000000000023A18 mov [rdi+594h], rax .text:0000000000023A1F lea rax, sub_22630 .text:0000000000023A26 mov [rdi+59Ch], rax .text:0000000000023A2D lea rax, sub_22750 .text:0000000000023A34 mov [rdi+5A4h], rax .text:0000000000023A3B lea rax, sub_21C70 .text:0000000000023A42 mov [rdi+5ACh], rax .text:0000000000023A49 lea rax, sub_21E00 .text:0000000000023A50 mov [rdi+5B4h], rax .text:0000000000023A57 lea rax, sub_220A0 .text:0000000000023A5E mov [rdi+5BCh], rax .text:0000000000023A65 lea rax, sub_22A10 .text:0000000000023A6C mov [rdi+524h], rax .text:0000000000023A73 lea rax, sub_22A00 .text:0000000000023A7A mov [rdi+554h], rax .text:0000000000023A81 lea rax, sub_2CEC0 .text:0000000000023A88 mov [rdi+53Ch], rax .text:0000000000023A8F lea rax, sub_2CEE0 .text:0000000000023A96 mov [rdi+52Ch], rax .text:0000000000023A9D lea rax, sub_2CED0 .text:0000000000023AA4 mov [rdi+534h], rax .text:0000000000023AAB lea rax, sub_229D0 .text:0000000000023AB2 mov [rdi+544h], rax .text:0000000000023AB9 retn .text:0000000000023AB9 ; --------------------------------------------------------------------------- .text:0000000000023ABA align 20h .text:0000000000023AC0 .text:0000000000023AC0 loc_23AC0: ; CODE XREF: sub_237C0+Fj .text:0000000000023AC0 sub eax, 5 .text:0000000000023AC3 cmp eax, 1 .text:0000000000023AC6 ja locret_23DC0 .text:0000000000023ACC lea rax, sub_10BF0 .text:0000000000023AD3 lea rdx, sub_26F00 .text:0000000000023ADA mov [rdi+414h], rax .text:0000000000023AE1 lea rax, sub_10DF0 .text:0000000000023AE8 mov [rdi+484h], rdx .text:0000000000023AEF mov [rdi+41Ch], rax .text:0000000000023AF6 lea rax, sub_110B0 .text:0000000000023AFD mov [rdi+424h], rax .text:0000000000023B04 lea rax, sub_189B0 .text:0000000000023B0B mov [rdi+42Ch], rax .text:0000000000023B12 lea rax, sub_11110 .text:0000000000023B19 mov [rdi+434h], rax .text:0000000000023B20 lea rax, sub_12260 .text:0000000000023B27 mov [rdi+43Ch], rax .text:0000000000023B2E lea rax, sub_11B40 .text:0000000000023B35 mov [rdi+444h], rax .text:0000000000023B3C lea rax, sub_127B0 .text:0000000000023B43 mov [rdi+44Ch], rax .text:0000000000023B4A lea rax, sub_12980 .text:0000000000023B51 mov [rdi+454h], rax .text:0000000000023B58 lea rax, sub_12B00 .text:0000000000023B5F mov [rdi+45Ch], rax .text:0000000000023B66 lea rax, sub_182C0 .text:0000000000023B6D mov [rdi+464h], rax .text:0000000000023B74 lea rax, sub_26EF0 .text:0000000000023B7B mov [rdi+474h], rax .text:0000000000023B82 mov [rdi+47Ch], rax .text:0000000000023B89 mov [rdi+48Ch], rax .text:0000000000023B90 lea rax, sub_12B10 .text:0000000000023B97 mov [rdi+46Ch], rax .text:0000000000023B9E lea rax, sub_18310 .text:0000000000023BA5 mov [rdi+4A4h], rax .text:0000000000023BAC lea rax, sub_182E0 .text:0000000000023BB3 mov [rdi+4ACh], rax .text:0000000000023BBA lea rax, sub_18930 .text:0000000000023BC1 mov [rdi+494h], rax .text:0000000000023BC8 lea rax, sub_18710 .text:0000000000023BCF mov [rdi+49Ch], rax .text:0000000000023BD6 lea rax, sub_136C0 .text:0000000000023BDD mov [rdi+52Ch], rax .text:0000000000023BE4 lea rax, sub_136B0 -- .text:000000000002CEF0 sub_2CEF0 proc near ; DATA XREF: sub_237C0+18Do .text:000000000002CEF0 mov r8d, ecx .text:000000000002CEF3 test dx, dx .text:000000000002CEF6 jnz short loc_2CF28 .text:000000000002CEF8 cmp word ptr [rdi+392h], 0 .text:000000000002CF00 mov dword ptr [rdi+104h], 0 .text:000000000002CF0A setz al .text:000000000002CF0D and [rdi+0BCh], al .text:000000000002CF13 xor eax, eax .text:000000000002CF15 mov [rdi+392h], ax .text:000000000002CF1C mov eax, 1 .text:000000000002CF21 retn .text:000000000002CF21 ; --------------------------------------------------------------------------- .text:000000000002CF22 align 8 .text:000000000002CF28 .text:000000000002CF28 loc_2CF28: ; CODE XREF: sub_2CEF0+6j .text:000000000002CF28 cmp dx, 1 .text:000000000002CF2C movzx ecx, word ptr [rsi+6] .text:000000000002CF30 setbe al .text:000000000002CF33 setbe r10b .text:000000000002CF37 movzx eax, al .text:000000000002CF3A cmp cx, 5 .text:000000000002CF3E jz short loc_2CF90 .text:000000000002CF40 cmp byte ptr [rdi+235h], 10h .text:000000000002CF47 jz loc_2D0B8 .text:000000000002CF4D xor eax, eax .text:000000000002CF4F cmp cx, 3 .text:000000000002CF53 setbe al .text:000000000002CF56 and eax, r10d .text:000000000002CF59 mov ecx, eax .text:000000000002CF5B .text:000000000002CF5B loc_2CF5B: ; CODE XREF: sub_2CEF0+1D5j .text:000000000002CF5B cmp dword ptr [rsi+8], 1 .text:000000000002CF5F setbe al .text:000000000002CF62 cmp word ptr [rsi], 8000h .text:000000000002CF67 setnz r9b .text:000000000002CF6B and eax, r9d .text:000000000002CF6E cmp word ptr [rsi+2], 8000h .text:000000000002CF74 setnz r9b .text:000000000002CF78 and eax, r9d .text:000000000002CF7B movzx r9d, word ptr [rsi+4] .text:000000000002CF80 not r9d .text:000000000002CF83 shr r9w, 0Fh .text:000000000002CF88 and eax, r9d .text:000000000002CF8B and eax, r10d .text:000000000002CF8E and eax, ecx .text:000000000002CF90 .text:000000000002CF90 loc_2CF90: ; CODE XREF: sub_2CEF0+4Ej .text:000000000002CF90 test eax, eax .text:000000000002CF92 jz locret_2D030 .text:000000000002CF98 movzx ecx, word ptr [rdi+392h] .text:000000000002CF9F mov rax, [rdi+38Ah] .text:000000000002CFA6 cmp dx, cx .text:000000000002CFA9 setz dl .text:000000000002CFAC and dl, [rdi+0BCh] .text:000000000002CFB2 mov [rdi+0BCh], dl .text:000000000002CFB8 test cx, cx .text:000000000002CFBB jnz short loc_2D038 .text:000000000002CFBD mov dword ptr [rdi+104h], 0 .text:000000000002CFC7 .text:000000000002CFC7 loc_2CFC7: ; CODE XREF: sub_2CEF0+1BFj .text:000000000002CFC7 movzx edx, word ptr [rsi+6] .text:000000000002CFCB cmp dx, 5 .text:000000000002CFCF jz short loc_2CFF4 .text:000000000002CFD1 movzx ecx, word ptr [rsi] .text:000000000002CFD4 mov [rdi+104h], r8d .text:000000000002CFDB mov [rax], cx .text:000000000002CFDE movzx ecx, word ptr [rsi+2] .text:000000000002CFE2 mov [rax+2], cx .text:000000000002CFE6 movzx ecx, word ptr [rsi+4] .text:000000000002CFEA mov [rax+4], cx .text:000000000002CFEE mov ecx, [rsi+8] .text:000000000002CFF1 mov [rax+8], ecx .text:000000000002CFF4 .text:000000000002CFF4 loc_2CFF4: ; CODE XREF: sub_2CEF0+DFj .text:000000000002CFF4 cmp byte ptr [rdi+235h], 10h .text:000000000002CFFB jz loc_2D0D0 .text:000000000002D001 mov [rax+6], dx .text:000000000002D005 .text:000000000002D005 loc_2D005: ; CODE XREF: sub_2CEF0+1E7j .text:000000000002D005 xor edx, edx .text:000000000002D007 cmp word ptr [rsi+6], 5 .text:000000000002D00C setnz dl .text:000000000002D00F mov [rdi+392h], dx .text:000000000002D016 movsx eax, word ptr [rax+6] .text:000000000002D01A mov [rdi+0F8h], eax .text:000000000002D020 mov eax, 1 .text:000000000002D025 retn .text:000000000002D025 ; --------------------------------------------------------------------------- .text:000000000002D026 align 10h .text:000000000002D030 .text:000000000002D030 locret_2D030: ; CODE XREF: sub_2CEF0+A2j .text:000000000002D030 retn .text:000000000002D030 ; --------------------------------------------------------------------------- .text:000000000002D031 align 8 .text:000000000002D038 .text:000000000002D038 loc_2D038: ; CODE XREF: sub_2CEF0+CBj .text:000000000002D038 movzx ecx, word ptr [rsi] .text:000000000002D03B cmp [rax], cx .text:000000000002D03E setz cl .text:000000000002D041 and ecx, edx .text:000000000002D043 mov [rdi+0BCh], cl .text:000000000002D049 movzx edx, word ptr [rsi+2] .text:000000000002D04D cmp [rax+2], dx .text:000000000002D051 setz dl .text:000000000002D054 and ecx, edx .text:000000000002D056 mov [rdi+0BCh], cl .text:000000000002D05C movzx edx, word ptr [rsi+4] .text:000000000002D060 cmp [rax+4], dx .text:000000000002D064 setz dl .text:000000000002D067 and edx, ecx .text:000000000002D069 cmp byte ptr [rdi+235h], 10h .text:000000000002D070 mov [rdi+0BCh], dl .text:000000000002D076 jz short loc_2D0E0 .text:000000000002D078 movzx ecx, word ptr [rsi+6] .text:000000000002D07C cmp [rax+6], cx .text:000000000002D080 setz cl .text:000000000002D083 and edx, ecx .text:000000000002D085 .text:000000000002D085 loc_2D085: ; CODE XREF: sub_2CEF0+204j .text:000000000002D085 mov [rdi+0BCh], dl .text:000000000002D08B mov ecx, [rsi+8] .text:000000000002D08E cmp [rax+8], ecx .text:000000000002D091 mov dword ptr [rdi+104h], 0 .text:000000000002D09B setz cl .text:000000000002D09E and edx, ecx .text:000000000002D0A0 mov [rdi+0BCh], dl .text:000000000002D0A6 xor edx, edx .text:000000000002D0A8 mov [rdi+392h], dx .text:000000000002D0AF jmp loc_2CFC7 .text:000000000002D0AF ; --------------------------------------------------------------------------- .text:000000000002D0B4 align 8 .text:000000000002D0B8 .text:000000000002D0B8 loc_2D0B8: ; CODE XREF: sub_2CEF0+57j .text:000000000002D0B8 cmp cx, 1 .text:000000000002D0BC setbe cl .text:000000000002D0BF movzx ecx, cl .text:000000000002D0C2 and ecx, r10d .text:000000000002D0C5 jmp loc_2CF5B .text:000000000002D0C5 ; --------------------------------------------------------------------------- .text:000000000002D0CA align 10h .text:000000000002D0D0 .text:000000000002D0D0 loc_2D0D0: ; CODE XREF: sub_2CEF0+10Bj .text:000000000002D0D0 add edx, 1 .text:000000000002D0D3 mov [rax+6], dx .text:000000000002D0D7 jmp loc_2D005 .text:000000000002D0D7 ; --------------------------------------------------------------------------- .text:000000000002D0DC align 20h .text:000000000002D0E0 .text:000000000002D0E0 loc_2D0E0: ; CODE XREF: sub_2CEF0+186j .text:000000000002D0E0 movsx ecx, word ptr [rsi+6] .text:000000000002D0E4 movsx r9d, word ptr [rax+6] .text:000000000002D0E9 add ecx, 1 .text:000000000002D0EC cmp ecx, r9d .text:000000000002D0EF setz cl .text:000000000002D0F2 and edx, ecx .text:000000000002D0F4 jmp short loc_2D085 .text:000000000002D0F4 sub_2CEF0 endp .text:000000000002D0F4 .text:000000000002D0F4 ; --------------------------------------------------------------------------- .text:000000000002D0F6 align 20h .text:000000000002D100 .text:000000000002D100 ; =============== S U B R O U T I N E ======================================= .text:000000000002D100 .text:000000000002D100 .text:000000000002D100 sub_2D100 proc near ; DATA XREF: sub_237C0+19Bo .text:000000000002D100 cmp dx, 1 .text:000000000002D104 mov r8, rdi .text:000000000002D107 setbe cl .text:000000000002D10A movzx eax, cl .text:000000000002D10D test dx, dx .text:000000000002D110 jz short loc_2D14C .text:000000000002D112 cmp dword ptr [rsi], 2 .text:000000000002D115 setbe al .text:000000000002D118 cmp dword ptr [rsi+4], 2 .text:000000000002D11C setbe dil .text:000000000002D120 and eax, edi .text:000000000002D122 and eax, ecx .text:000000000002D124 cmp byte ptr [r8+235h], 10h .text:000000000002D12C jz short loc_2D141 .text:000000000002D12E cmp dword ptr [rsi+8], 2 .text:000000000002D132 setbe cl .text:000000000002D135 cmp dword ptr [rsi+0Ch], 2 .text:000000000002D139 setbe dil .text:000000000002D13D and ecx, edi .text:000000000002D13F and eax, ecx .text:000000000002D141 .text:000000000002D141 loc_2D141: ; CODE XREF: sub_2D100+2Cj .text:000000000002D141 xor ecx, ecx .text:000000000002D143 cmp dword ptr [rsi+14h], 2 .text:000000000002D147 setbe cl .text:000000000002D14A and eax, ecx .text:000000000002D14C .text:000000000002D14C loc_2D14C: ; CODE XREF: sub_2D100+10j .text:000000000002D14C test eax, eax .text:000000000002D14E jz locret_2D21A .text:000000000002D154 movzx edi, word ptr [r8+39Eh] .text:000000000002D15C cmp di, dx .text:000000000002D15F setz cl .text:000000000002D162 and cl, [r8+0BCh] .text:000000000002D169 mov [r8+0BCh], cl .text:000000000002D170 test di, di .text:000000000002D173 jz loc_2D220 .text:000000000002D179 test dx, dx .text:000000000002D17C jz loc_2D210 .text:000000000002D182 movzx r9d, byte ptr [r8+235h] .text:000000000002D18A mov rdi, [r8+396h] .text:000000000002D191 mov r10d, [rsi] .text:000000000002D194 cmp r9b, 10h .text:000000000002D198 jz loc_2D288 .text:000000000002D19E cmp [rdi], r10d .text:000000000002D1A1 setz r10b .text:000000000002D1A5 and ecx, r10d .text:000000000002D1A8 mov [r8+0BCh], cl .text:000000000002D1AF mov r11d, [rsi+4] .text:000000000002D1B3 cmp [rdi+4], r11d .text:000000000002D1B7 setz r10b .text:000000000002D1BB and r10d, ecx .text:000000000002D1BE mov [r8+0BCh], r10b .text:000000000002D1C5 mov ecx, [rsi+8] .text:000000000002D1C8 cmp [rdi+8], ecx .text:000000000002D1CB setz cl .text:000000000002D1CE and r10d, ecx .text:000000000002D1D1 mov [r8+0BCh], r10b .text:000000000002D1D8 mov ecx, [rsi+0Ch] .text:000000000002D1DB cmp [rdi+0Ch], ecx .text:000000000002D1DE setz cl .text:000000000002D1E1 and ecx, r10d .text:000000000002D1E4 mov [r8+0BCh], cl .text:000000000002D1EB .text:000000000002D1EB loc_2D1EB: ; CODE XREF: sub_2D100+1ADj .text:000000000002D1EB mov r11d, [rsi+14h] .text:000000000002D1EF cmp [rdi+14h], r11d .text:000000000002D1F3 mov [r8+39Eh], dx .text:000000000002D1FB setz r10b .text:000000000002D1FF and ecx, r10d .text:000000000002D202 mov [r8+0BCh], cl .text:000000000002D209 jmp short loc_2D241 .text:000000000002D209 ; --------------------------------------------------------------------------- .text:000000000002D20B align 10h .text:000000000002D210 .text:000000000002D210 loc_2D210: ; CODE XREF: sub_2D100+7Cj .text:000000000002D210 xor edx, edx .text:000000000002D212 mov [r8+39Eh], dx .text:000000000002D21A .text:000000000002D21A locret_2D21A: ; CODE XREF: sub_2D100+4Ej .text:000000000002D21A ; sub_2D100+12Bj ... .text:000000000002D21A retn .text:000000000002D21A ; --------------------------------------------------------------------------- .text:000000000002D21B align 20h .text:000000000002D220 .text:000000000002D220 loc_2D220: ; CODE XREF: sub_2D100+73j .text:000000000002D220 mov [r8+39Eh], dx .text:000000000002D228 test rsi, rsi .text:000000000002D22B jz short locret_2D21A .text:000000000002D22D test dx, dx .text:000000000002D230 jz short locret_2D21A .text:000000000002D232 movzx r9d, byte ptr [r8+235h]