Function at 0x43ff80
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x11c]
cmp eax, dword [ecx + 8]
jbe 0x44167e
sub esp, 0x19c
mov eax, dword [0x77c684]
test eax, eax
je 0x441666
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov dword [esp + 0x14c], eax
mov ecx, dword [esp + 0x1ac]
cmp ecx, eax
jne 0x43ffde
mov edx, dword [eax + 0x18]
mov edx, dword [edx + 0x4c]
cmp eax, edx
je 0x44164e
call fcn.00431930
mov eax, dword [esp]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x1ac]
mov edx, dword [ecx + 0x50]
mov ebx, dword [ecx + 0x44]
mov dword [esp + 0x170], ebx
mov ebp, dword [ecx + 0x48]
mov esi, dword [ecx + 0x4c]
cmp edx, ebp
ja 0x441647
sub ebp, edx
mov dword [esp + 0x20], ebp
sub esi, edx
mov dword [esp + 0x24], esi
shl edx, 3
mov edi, ebp
lea ebp, [esi - 1]
sar ebp, 0x1f
xor ebp, 0xffffffff
and edx, ebp
mov dword [esp + 0x6c], edx
lea ebp, [edx + ebx]
mov dword [esp + 0x144], ebp
mov edx, dword [esp + 0x1a0]
cmp edx, 0xffffffff
jne 0x441639
mov ebx, dword [esp + 0x1a4]
cmp ebx, 0xffffffff
jne 0x44162b
mov edx, dword [ecx + 0x3c]
test edx, edx
je 0x441620
mov ebx, dword [ecx + 0x40]
mov dword [esp + 0x1a4], edx
lea edi, [esp + 0x174]
xor eax, eax
call fcn.0044a0c6
mov dword [esp + 0x178], ebx
mov dword [esp + 0x184], edx
mov ecx, dword [esp + 0x1ac]
mov ebx, dword [ecx + 0xcc]
mov dword [esp + 0x15c], ebx
mov edi, ebx
mov ebx, dword [ecx + 0xd0]
mov dword [esp + 0x50], ebx
mov ebx, dword [ecx + 0xd4]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x1b4]
test ebx, ebx
je 0x441601
mov dword [esp + 0x78], eax
xor eax, eax
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0x78]
mov ebx, dword [ecx + 0x14]
mov dword [esp + 0x160], ebx
test ebx, ebx
je 0x4400f9
mov ecx, dword [ebx + 8]
cmp ecx, 0xffffffff
jne 0x4400f9
mov ebx, dword [ebx + 0x18]
mov ecx, dword [esp + 0x1ac]
mov dword [esp + 0x160], ebx
test ebx, ebx
jne 0x4400dc
mov ecx, dword [esp + 0x178]
test ecx, ecx
jne 0x440120
mov ecx, edx
mov ecx, dword [ecx]
mov dword [esp + 0x178], ecx
mov ecx, dword [esp + 0x184]
add ecx, 4
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0x178]
mov dword [esp], ecx
call fcn.0043c120
mov eax, dword [esp + 4]
test eax, eax
je 0x4415ed
mov ecx, dword [eax]
mov ebx, dword [0x77c6d4]
cmp ecx, ebx
je 0x441455
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x16c], ecx
test eax, eax
je 0x4413cb
mov dword [esp + 0x174], eax
lea edi, [esp + 0x80]
xor eax, eax
call fcn.0044a0a0
xor eax, eax
xor ecx, ecx
mov ebp, dword [esp + 0x1b0]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
xor ebp, ebp
mov dword [esp + 0x2c], ebp
mov esi, dword [esp + 0x16c]
mov dword [esp + 0x168], esi
mov esi, dword [esp + 0x1ac]
mov dword [esp + 0x140], esi
mov esi, dword [esp + 0x15c]
mov dword [esp + 0x16c], esi
mov ebp, dword [esp + 0x1b0]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x34], eax
mov byte [esp + 0x1a], cl
mov dword [esp + 0x1b0], ebp
mov ebp, dword [esp + 0x1b8]
cmp eax, ebp
jge 0x4413b0
mov ebp, dword [esp + 0x174]
mov dword [esp + 0x158], ebp
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x441395
mov eax, dword [esp + 0x188]
test eax, eax
je 0x4411c6
mov eax, dword [esp + 0x16c]
mov byte [esp + 0x70], cl
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x16c], ecx
movzx ecx, byte [esp + 0x70]
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], edi
mov dword [esp + 0x168], eax
mov dword [esp + 0x20], edx
mov esi, dword [ebp]
mov eax, dword [0x77c684]
cmp esi, eax
jne 0x44115b
mov eax, 1
test al, al
je 0x440f27
mov dword [esp + 0x180], 0
xor eax, eax
mov esi, dword [esp + 0x16c]
mov dword [esp + 0x150], eax
mov dword [esp + 0x16c], esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x188]
add ebx, 0xfffffffc
mov dword [esp + 0x18c], ebx
mov ebx, dword [esp + 0x1bc]
test ebx, ebx
xchg esi, ebx
setne bl
xchg esi, ebx
jne 0x440f20
movzx eax, byte [esp + 0x1b]
test al, al
jne 0x440eb6
mov esi, dword [esp + 0x178]
mov dword [esp + 0x17c], esi
test cl, cl
je 0x440eaa
mov esi, dword [esp + 0x160]
test esi, esi
je 0x440e9a
mov ecx, dword [esi + 8]
mov eax, dword [esp + 0x184]
cmp ecx, eax
jne 0x440e9a
mov eax, dword [esi + 0xc]
mov dword [esp + 0x17c], eax
mov dword [esp + 0x160], esi
test esi, esi
je 0x44032b
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x184]
cmp eax, ecx
jne 0x440e8c
mov esi, dword [esi + 0x18]
mov dword [esp + 0x160], esi
test esi, esi
jne 0x44030b
mov eax, dword [esp + 0x1b0]
test eax, eax
jle 0x44098a
dec eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp]
mov esi, dword [0x77c630]
cmp ecx, esi
jne 0x440976
test edi, edi
jle 0x440976
lea ecx, [edi - 1]
mov dword [esp + 0x50], ecx
cmp ecx, edi
jae 0x44096f
mov esi, dword [esp + 0x168]
mov edi, dword [esi + edi*4 - 4]
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x54]
cmp ecx, edi
ja 0x440968
test eax, eax
jne 0x440399
test ebx, ebx
je 0x440900
mov ebp, dword [ebp]
mov ebx, dword [0x77c6d0]
mov eax, dword [esp + 0x150]
test eax, eax
je 0x440438
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 0x178], eax
mov dword [esp + 0x180], 0
mov eax, dword [esp + 0x188]
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], 0
mov dword [esp + 0x198], 0
cmp ebp, ebx
sete al
mov ebp, dword [esp + 0x1b0]
mov esi, edi
mov edi, ecx
mov ebx, dword [esp + 0x24]
mov ecx, eax
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x16c]
mov ebx, dword [esp + 0x168]
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x24]
jmp 0x4401cc
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x160]
mov ebx, dword [esp + 0x140]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x20], edx
mov dword [esp + 0x140], ebx
movzx esi, byte [esp + 0x1b]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4408f9
mov dword [esp + 0x34], eax
mov ebp, dword [esp + 0x1bc]
test ebp, ebp
je 0x4408ed
mov esi, dword [esp + 0x1b8]
cmp eax, esi
jge 0x4408e6
test ecx, ecx
je 0x440644
mov eax, dword [esp + 0x1ac]
mov edx, dword [eax + 0x68]
mov dword [esp + 0x68], edx
mov ebx, dword [ecx + 8]
mov dword [esp + 0x64], ebx
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x60], ecx
mov ebp, dword [eax + 0x64]
mov dword [esp + 0x5c], ebp
call fcn.004264b0
lea eax, [0x64ca2a]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.00426d20
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
call fcn.00426b60
lea eax, [0x64fd08]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call fcn.00426d20
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00426bf0
lea eax, [0x64afdc]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00426d20
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00426bf0
lea eax, [0x64ac67]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00426d20
call fcn.00426520
mov eax, dword [esp + 0x1ac]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x160], eax
test eax, eax
je 0x44062c
mov ecx, dword [eax + 8]
mov dword [esp + 0x64], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x60], edx
call fcn.004264b0
lea eax, [0x64bb31]
mov dword [esp], eax
mov dword [esp + 4], 7
call fcn.00426d20
mov eax, dword [esp + 0x160]
mov dword [esp], eax
call fcn.00426ce0
lea eax, [0x64afe4]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00426d20
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00426bf0
lea eax, [0x64afdc]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00426d20
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00426bf0
lea eax, [0x64ac67]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00426d20
call fcn.00426520
mov eax, dword [esp + 0x160]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x160], eax
test eax, eax
jne 0x44056c
lea eax, [0x653f66]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
call fcn.00425c70
ud2
test ebp, ebp
je 0x44065a
cmp eax, esi
jge 0x4408df
test edx, edx
jg 0x44082c
test ebp, ebp
je 0x44067d
cmp eax, esi
jge 0x44067d
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x1ac]
mov ebx, dword [edx + 0x54]
mov dword [esp + 0x60], ebx
cmp ecx, ebx
jne 0x44068b
mov dword [esp + 0x1c8], eax
add esp, 0x19c
ret
mov ebp, dword [edx + 0x68]
mov dword [esp + 0x68], ebp
mov edi, dword [edx + 0x64]
mov dword [esp + 0x5c], edi
call fcn.004264b0
lea eax, [0x64ca2a]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.00426d20
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
call fcn.00426b60
lea eax, [0x64cb88]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.00426d20
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00426bf0
lea eax, [0x64b33c]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00426d20
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00426bf0
lea eax, [0x64ac67]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00426d20
call fcn.00426520
mov eax, dword [esp + 0x1ac]
mov ecx, dword [eax + 4]
mov dword [esp + 0x64], ecx
mov eax, dword [eax]
mov dword [esp + 0x60], eax
call fcn.004264b0
lea eax, [0x64bf85]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.00426d20
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00426bf0
lea eax, [0x64ac4f]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00426d20
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00426bf0
lea eax, [0x64b1d4]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00426d20
mov eax, dword [esp + 0x34]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.00426b60
lea eax, [0x64b328]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00426d20
mov eax, dword [esp + 0x1b8]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.00426b60
lea eax, [0x64ac67]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00426d20
call fcn.00426520
lea eax, [0x655f98]
mov dword [esp], eax
mov dword [esp + 4], 0x23
call fcn.00425c70
ud2
mov eax, dword [esp + 0x1ac]
mov ecx, dword [eax + 0x64]
mov dword [esp + 0x5c], ecx
mov eax, dword [eax + 0x68]
mov dword [esp + 0x68], eax
call fcn.004264b0
lea eax, [0x64ca2a]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.00426d20
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
call fcn.00426b60
lea eax, [0x652626]
mov dword [esp], eax
mov dword [esp + 4], 0x1a
call fcn.00426d20
call fcn.00426520
mov eax, dword [esp + 0x140]
mov ecx, dword [eax + 0x48]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
sub ecx, eax
mov dword [esp + 4], ecx
call fcn.00420d00
call fcn.004264b0
lea eax, [0x64ac67]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00426d20
call fcn.00426520
lea eax, [0x656766]
mov dword [esp], eax
mov dword [esp + 4], 0x25
call fcn.00425c70
ud2
test ebp, ebp
jmp 0x44065a
test ebp, ebp
jmp 0x440646
mov esi, dword [esp + 0x1b8]
jmp 0x440646
mov eax, ebp
jmp 0x440468
mov ebx, dword [esp + 0x1b4]
mov dword [esp], ebx
movzx ebx, byte [esp + 0x1b]
mov byte [esp + 4], bl
mov ebx, dword [esp + 0x4c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x1b8]
mov dword [esp + 0x10], ebx
call fcn.00441830
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1bc]
mov ebp, dword [esp + 0x158]
mov esi, dword [esp + 0x168]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x1b0]
jmp 0x440399
call fcn.004246c0
ud2
call fcn.00424660
ud2
mov esi, dword [esp + 0x168]
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
jmp 0x440399
mov ecx, dword [esp + 0x1b4]
test ecx, ecx
je 0x440e81
mov esi, dword [esp + 0x178]
mov edi, dword [esp + 0x34]
cmp edi, 0x100000
jae 0x440e7a
mov dword [ecx + edi*4], esi
test ebx, ebx
jne 0x440e1b
movzx esi, byte [esp + 0x1b]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4409df
inc edi
mov esi, dword [esp + 0x160]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x50]
jmp 0x44033f
mov esi, dword [esp + 0x1c4]
test esi, 1
je 0x440db3
mov ecx, dword [esp + 0x178]
test edi, edi
jle 0x440da2
mov esi, dword [ebp]
cmp ecx, esi
jbe 0x440a17
movzx esi, byte [esp + 0x1a]
xchg esi, eax
test al, al
xchg esi, eax
je 0x440d9c
mov dword [esp + 0x1c], ecx
mov dword [esp], ebp
call fcn.0043c7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x148], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], ecx
cmp ecx, 0xf
je 0x440d55
mov dword [esp + 0x148], eax
mov dword [esp + 0x30], ecx
call fcn.004264b0
mov eax, dword [esp + 0x148]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call fcn.00426d20
lea eax, [0x64ac4a]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00426d20
call fcn.00426520
mov eax, dword [esp + 0x190]
mov dword [esp + 0x164], eax
xor ecx, ecx
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x194]
shr edx, 2
cmp ecx, edx
jae 0x440b34
cmp ecx, 0xa
jae 0x440b14
test ecx, ecx
jne 0x440ae7
test byte [eax], al
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x64], edx
call fcn.004264b0
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00426bf0
call fcn.00426520
mov eax, dword [esp + 0x44]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x164]
jmp 0x440a91
call fcn.004264b0
lea eax, [0x64ac96]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.00426d20
call fcn.00426520
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x44]
jmp 0x440ab0
call fcn.004264b0
lea eax, [0x64b378]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00426d20
call fcn.00426520
call fcn.004264b0
lea eax, [0x64ac92]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.00426d20
call fcn.00426520
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 4], ecx
call fcn.0043c980
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x154], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x48], edx
call fcn.004264b0
lea eax, [0x64ac69]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00426d20
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
call fcn.00426d20
lea eax, [0x64ac54]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00426d20
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.00426b60
call fcn.00426520
mov eax, dword [esp + 0x178]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x158]
mov edx, dword [ecx]
mov dword [esp + 0x60], edx
cmp eax, edx
ja 0x440d0f
mov eax, dword [esp + 0x14c]
mov edx, dword [eax + 0x18]
mov ebx, dword [edx + 0x64]
test ebx, ebx
jle 0x440d06
mov edx, dword [edx + 0x4c]
mov ebx, dword [esp + 0x1ac]
cmp ebx, edx
jne 0x440cf8
mov edx, dword [esp + 0x188]
mov dword [esp + 0x64], edx
mov ebp, dword [esp + 0x184]
mov dword [esp + 0x60], ebp
call fcn.004264b0
lea eax, [0x64afc8]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00426d20
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00426bf0
lea eax, [0x64afe4]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00426d20
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00426bf0
call fcn.00426520
call fcn.004264b0
lea eax, [0x64ac67]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00426d20
call fcn.00426520
mov eax, dword [esp + 0x2c]
inc eax
mov ecx, dword [esp + 0x1b4]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1bc]
mov ebp, dword [esp + 0x158]
movzx esi, byte [esp + 0x1b]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1b0]
jmp 0x4409c6
mov edx, dword [esp + 0x40]
cmp edx, 2
jl 0x440ca1
jmp 0x440c2d
mov ebx, dword [esp + 0x1ac]
jmp 0x440cf8
call fcn.004264b0
lea eax, [0x64ac7c]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.00426d20
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
sub eax, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00426bf0
call fcn.00426520
mov ecx, dword [esp + 0x158]
jmp 0x440c06
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x64e2d4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xf
call fcn.00449cb0
movzx eax, byte [esp + 0x10]
test al, al
je 0x440d8c
lea eax, [0x64b54e]
mov ecx, 5
jmp 0x440a3f
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x30]
jmp 0x440a3f
dec ecx
jmp 0x440a17
test esi, 2
jne 0x440a17
jmp 0x440a01
mov dword [esp], ebp
mov ecx, dword [esp + 0x1ac]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x2c]
test ecx, ecx
xchg esi, ebx
sete bl
xchg esi, ebx
xchg esi, eax
mov byte [esp + 8], al
xchg esi, eax
call fcn.00442080
movzx eax, byte [esp + 0xc]
test al, al
jne 0x440deb
mov eax, dword [esp + 0x2c]
jmp 0x440cc6
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1bc]
mov ebp, dword [esp + 0x158]
mov esi, dword [esp + 0x1c4]
mov edi, dword [esp + 0x34]
jmp 0x4409f2
lea esi, [esp + 0x174]
mov dword [esp], esi
mov esi, dword [esp + 0x1c0]
mov dword [esp + 4], esi
mov esi, dword [ebx]
mov edx, ebx
call esi
movzx eax, byte [esp + 8]
test al, al
je 0x440e68
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1bc]
mov ebp, dword [esp + 0x158]
mov edi, dword [esp + 0x34]
jmp 0x4409bb
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c8], eax
add esp, 0x19c
ret
call fcn.00424660
ud2
test ebx, ebx
mov edi, dword [esp + 0x34]
jmp 0x4409b5
cmp eax, 0xffffffff
jne 0x44032b
jmp 0x44031d
mov dword [esp + 0x17c], 0
jmp 0x440300
mov esi, dword [esp + 0x160]
jmp 0x440300
mov edx, dword [esp + 0x188]
mov dword [esp + 0x190], edx
lea edx, [esp + 0x174]
mov dword [esp], edx
mov dword [esp + 4], ebp
xchg esi, eax
mov byte [esp + 8], al
xchg esi, eax
mov dword [esp + 0xc], 0
call fcn.00441690
mov eax, dword [esp + 0x10]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x198], eax
movzx eax, byte [esp + 0x1b]
movzx ecx, byte [esp + 0x1a]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1bc]
mov ebp, dword [esp + 0x158]
mov edi, dword [esp + 0x50]
jmp 0x4402bf
movzx eax, byte [esp + 0x1b]
jmp 0x440eb6
mov eax, dword [esp + 0x180]
test eax, eax
jne 0x441154
mov eax, dword [esp + 0x188]
add eax, 0xfffffffc
mov esi, eax
mov esi, dword [esi]
mov dword [esp + 0x180], esi
mov dword [esp + 0x38], eax
mov esi, dword [esp + 0x180]
mov edi, dword [0x77c6d4]
cmp esi, edi
jne 0x441148
test edx, edx
je 0x4410aa
mov esi, dword [esp + 0x16c]
mov edi, dword [esi]
cmp edi, eax
jne 0x4410aa
mov eax, dword [esi + 4]
mov dword [esp + 0x180], eax
lea eax, [ebx - 2]
sar eax, 0x1f
xor eax, 0xffffffff
and eax, 8
add eax, esi
dec edx
dec ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x16c], eax
mov dword [esp + 0x24], ebx
mov esi, dword [esp + 0x180]
mov dword [esp], esi
call fcn.0043c120
mov eax, dword [esp + 4]
test eax, eax
je 0x440fe1
movzx ecx, byte [esp + 0x1a]
mov ebp, dword [esp + 0x158]
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x16c]
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
jmp 0x440275
mov edx, dword [esp + 0x1bc]
test edx, edx
jne 0x440fee
jmp 0x440fbd
mov eax, dword [esp + 0x158]
mov dword [esp], eax
call fcn.0043c7f0
mov eax, dword [esp + 0x180]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x16c], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x6c], edx
call fcn.004264b0
lea eax, [0x655ad5]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.00426d20
mov eax, dword [esp + 0x16c]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.00426d20
lea eax, [0x64d551]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.00426d20
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00426bf0
lea eax, [0x64ac67]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00426d20
call fcn.00426520
lea eax, [0x64ef4e]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.00425c70
ud2
call fcn.004264b0
lea eax, [0x6534c7]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
call fcn.00426d20
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00426bf0
lea eax, [0x64cb9e]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.00426d20
call fcn.00426520
mov eax, dword [esp + 0x140]
mov ecx, dword [eax + 0x48]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
sub ecx, eax
mov dword [esp + 4], ecx
call fcn.00420d00
call fcn.004264b0
lea eax, [0x64ac67]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00426d20
call fcn.00426520
lea eax, [0x65021c]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call fcn.00425c70
ud2
mov eax, dword [esp + 0x16c]
jmp 0x440f97
xor eax, eax
jmp 0x440f4b
mov eax, dword [0x77c6a0]
cmp esi, eax
jne 0x44116f
mov eax, 1
jmp 0x440259
mov eax, dword [0x77c698]
cmp esi, eax
jne 0x441183
mov eax, 1
jmp 0x440259
mov eax, dword [0x77c69c]
cmp esi, eax
jne 0x441197
mov eax, 1
jmp 0x440259
mov eax, dword [0x77c6c8]
cmp esi, eax
jne 0x4411ab
mov eax, 1
jmp 0x440259
mov eax, dword [0x77c658]
test eax, eax
je 0x4411bf
cmp esi, eax
sete al
jmp 0x440259
xor eax, eax
jmp 0x440259
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x1c4]
test ecx, 4
je 0x441371
mov ecx, dword [ebp]
mov ebp, dword [0x77c6dc]
cmp ecx, ebp
jne 0x44134d
mov ecx, dword [esp + 0x14c]
mov ebp, dword [ecx + 0x18]
mov ebp, dword [ebp]
mov ecx, dword [esp + 0x1ac]
cmp ecx, ebp
jne 0x441329
mov ebp, dword [ecx + 0x18]
mov ebp, dword [ebp + 0x4c]
test ebp, ebp
je 0x441305
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x28], eax
mov dword [esp + 0x184], eax
mov edx, dword [ecx + 0x18]
mov edx, dword [edx + 0x4c]
mov ebx, dword [edx + 0x4c]
mov ebp, dword [edx + 0x50]
mov esi, dword [edx + 0x44]
mov edi, dword [edx + 0x48]
cmp ebp, edi
ja 0x4412fe
sub edi, ebp
sub ebx, ebp
shl ebp, 3
lea ecx, [ebx - 1]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ebp, ecx
lea ecx, [ebp + esi]
mov ebp, dword [edx + 0xcc]
mov esi, dword [edx + 0xd0]
mov eax, dword [edx + 0xd4]
mov dword [esp + 0x16c], ebp
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x168], ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x140], edx
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 4], eax
lea eax, [esp + 0x80]
mov dword [esp + 8], eax
call fcn.0043c9e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + ecx + 4]
mov dword [esp + 0x188], eax
movzx ecx, byte [esp + 0x1a]
mov ebp, dword [esp + 0x158]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov dword [esp + 0x16c], edx
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
jmp 0x440230
call fcn.004246c0
ud2
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 0x16c]
mov eax, esi
mov ecx, dword [esp + 0x168]
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x140]
jmp 0x44126b
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 0x16c]
mov eax, esi
mov ecx, dword [esp + 0x168]
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x140]
jmp 0x44126b
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 0x16c]
mov eax, esi
mov ecx, dword [esp + 0x168]
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x140]
jmp 0x44126b
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 0x16c]
mov eax, esi
mov ecx, dword [esp + 0x168]
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x140]
jmp 0x44126b
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x160]
mov ebx, dword [esp + 0x140]
mov ebp, dword [esp + 0x34]
jmp 0x44044e
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x160]
mov ebx, dword [esp + 0x140]
mov ebp, dword [esp + 0x34]
jmp 0x44044e
mov eax, dword [esp + 0x1bc]
test eax, eax
jne 0x4413e8
mov dword [esp + 0x1c8], 0
add esp, 0x19c
ret
mov eax, dword [esp + 0x178]
mov dword [esp + 0x64], eax
call fcn.004264b0
lea eax, [0x6502f8]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call fcn.00426d20
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00426bf0
lea eax, [0x64ac67]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00426d20
call fcn.00426520
lea eax, [0x64ca84]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.00425c70
ud2
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x4415e1
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x170]
mov eax, dword [ecx + eax]
mov ecx, dword [esp + 0x1a4]
cmp eax, ecx
jae 0x441509
mov eax, dword [esp + 0x1ac]
mov ecx, dword [eax + 0x50]
mov edx, dword [eax + 0x48]
mov ebx, dword [eax + 0x44]
cmp ecx, edx
jae 0x441502
mov edx, ecx
shl ecx, 3
mov ecx, dword [ebx + ecx + 4]
mov dword [esp + 0x178], ecx
mov ebx, dword [eax + 0x4c]
mov dword [esp + 0x6c], ebx
mov ebp, dword [eax + 0x48]
mov dword [esp + 0x58], ebp
mov esi, dword [eax + 0x44]
mov dword [esp + 0x170], esi
inc edx
mov dword [esp + 0x64], edx
cmp edx, ebp
ja 0x4414fb
mov dword [esp], ecx
call fcn.0043c120
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x64]
sub edx, eax
mov ebx, dword [esp + 0x6c]
sub ebx, eax
shl eax, 3
lea ecx, [ebx - 1]
sar ecx, 0x1f
xor ecx, 0xffffffff
and eax, ecx
mov ecx, dword [esp + 0x170]
add ecx, eax
mov eax, dword [esp + 4]
jmp 0x44015a
call fcn.004246c0
ud2
call fcn.00424660
ud2
mov eax, dword [esp + 0x1ac]
mov edx, dword [eax + 0x50]
test edx, edx
jbe 0x44153a
mov ebx, dword [eax + 0x48]
mov ebp, dword [eax + 0x44]
dec edx
cmp edx, ebx
jae 0x4415da
mov ebx, edx
shl edx, 3
mov edx, dword [ebp + edx]
cmp edx, ecx
jae 0x44153a
mov ecx, ebx
jmp 0x441488
call fcn.004264b0
call fcn.004264b0
lea eax, [0x659b7c]
mov dword [esp], eax
mov dword [esp + 4], 0x35
call fcn.00426d20
mov eax, dword [esp + 0x1a4]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00426bf0
lea eax, [0x64acb8]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.00426d20
call fcn.00426520
mov eax, dword [esp + 0x1ac]
mov ecx, dword [eax + 0x50]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00420d00
call fcn.004264b0
lea eax, [0x64ac67]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00426d20
call fcn.00426520
lea eax, [0x655981]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.00425c70
ud2
call fcn.00424660
ud2
mov ecx, dword [esp + 0x1a4]
jmp 0x441509
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
jmp 0x44015a
mov ebx, dword [esp + 0x1bc]
test ebx, ebx
setne bl
xor ebx, 1
mov byte [esp + 0x1b], bl
mov ebx, dword [esp + 0x1b4]
jmp 0x4400ce
mov ebx, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
jmp 0x440064
mov ebx, edx
mov edx, dword [esp + 0x1a4]
jmp 0x440064
mov ebx, edx
mov edx, dword [esp + 0x1a4]
jmp 0x440064
call fcn.004246c0
ud2
lea eax, [0x65a4a7]
mov dword [esp], eax
mov dword [esp + 4], 0x39
call fcn.00425c70
ud2
lea eax, [0x657c22]
mov dword [esp], eax
mov dword [esp + 4], 0x2b
call fcn.00425c70
ud2
call fcn.00448420
jmp fcn.0043ff80