361 lines
19 KiB
Plaintext
361 lines
19 KiB
Plaintext
.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]
|