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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xa8]
cmp eax, dword [ecx + 8]
jbe 0x55291b
sub esp, 0x128
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov eax, dword [esp + 0x148]
test eax, eax
je 0x5525af
lea eax, [0x62e780]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00404540
mov eax, dword [esp + 8]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x552b70]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
lea ecx, [esp + 0xc0]
mov dword [esp + 0x84], ecx
lea ecx, [esp + 0x78]
mov dword [esp], ecx
call fcn.004331d0
test eax, eax
jne 0x5525a3
lea eax, [0x62e5c0]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00404540
mov eax, dword [esp + 8]
mov dword [esp + 0xa0], eax
lea ecx, [0x64d1c0]
mov dword [esp], ecx
call fcn.0040b470
mov eax, dword [esp + 4]
lea ecx, [0x552a10]
mov dword [eax], ecx
mov ecx, dword [esp + 0x13c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x140]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x84e4b0]
test ecx, ecx
jne 0x552370
mov ecx, dword [esp + 0x138]
mov dword [eax + 4], ecx
jmp 0x552383
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x138]
call fcn.0045f3a0
mov eax, ecx
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x148]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x14c]
mov dword [eax + 0x18], ecx
mov ecx, dword [0x84e4b0]
test ecx, ecx
jne 0x5523d2
mov ecx, dword [esp + 0x144]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x12c]
mov dword [eax + 0x1c], ecx
mov edx, dword [esp + 0xa0]
mov dword [eax + 0x20], edx
mov ebx, dword [esp + 0x9c]
mov dword [eax + 0x24], ebx
jmp 0x552410
lea edi, [eax + 0x10]
mov ecx, eax
mov eax, dword [esp + 0x144]
call fcn.0045f3a0
lea edi, [ecx + 0x1c]
mov eax, dword [esp + 0x12c]
call fcn.0045f3a0
lea edi, [ecx + 0x20]
mov eax, dword [esp + 0xa0]
call fcn.0045f3a0
lea edi, [ecx + 0x24]
mov eax, dword [esp + 0x9c]
call fcn.0045f3a0
lea edi, [esp + 0xec]
xor eax, eax
call fcn.0045f63b
lea edi, [esp + 0x100]
call fcn.0045f63b
mov ecx, dword [esp + 0x130]
mov dword [esp], ecx
mov edx, dword [esp + 0x134]
mov dword [esp + 4], edx
call fcn.00549c00
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp + 0xa4], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x54]
mov dword [esp], ecx
call fcn.004331d0
test eax, eax
jne 0x552597
lea eax, [0x6404e0]
mov dword [esp], eax
call fcn.0040b470
mov eax, dword [esp + 4]
lea ecx, [0x5529c0]
mov dword [eax], ecx
mov ecx, dword [0x84e4b0]
test ecx, ecx
jne 0x5524a6
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
jmp 0x5524c0
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb4]
call fcn.0045f3a0
mov eax, ecx
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xb0]
mov dword [eax + 8], edx
mov edx, dword [0x84e4b0]
test edx, edx
jne 0x5524e0
mov edx, dword [esp + 0xa4]
mov dword [eax + 0xc], edx
jmp 0x5524f3
lea edi, [eax + 0xc]
mov edx, eax
mov eax, dword [esp + 0xa4]
call fcn.0045f3a0
mov eax, edx
mov dword [esp], eax
call fcn.0043f4c0
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax + 0x28]
test ecx, ecx
seta dl
mov eax, dword [eax + 0x2c]
test eax, eax
sete bl
xchg ebp, ebx
setg bl
xchg ebp, ebx
and ebx, edx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x55252a
xor eax, eax
mov ecx, 0x11e1a300
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004a0390
mov eax, dword [esp + 8]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
lea ecx, [0x552980]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], eax
lea ecx, [esp + 0xb8]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x30]
mov dword [esp], ecx
call fcn.004331d0
test eax, eax
jne 0x55258b
jmp 0x55262d
call fcn.004337c0
add esp, 0x128
ret
call fcn.004337c0
add esp, 0x128
ret
call fcn.004337c0
add esp, 0x128
ret
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x14], eax
call fcn.00552bb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], edx
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], ebx
call fcn.004337c0
add esp, 0x128
ret
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx]
lea edi, [esp + 0x114]
xor eax, eax
call fcn.0045f63b
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], edx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xc8], ecx
lea edx, [esp + 0x114]
mov dword [esp + 0xcc], edx
lea ebx, [esp + 0xc8]
mov dword [esp], ebx
lea ebx, [esp + 0x28]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 2
mov byte [esp + 0x14], 1
call fcn.004451f0
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x5527a3
lea edi, [esp + 0xd8]
lea esi, [esp + 0x114]
call fcn.0045fb1e
mov ecx, dword [esp + 0xe0]
test ecx, ecx
je 0x5528b8
movzx ecx, byte [esp + 0xe8]
test cl, cl
je 0x552716
lea edi, [esp + 0xec]
lea esi, [esp + 0xd8]
call fcn.0045fb1e
jmp 0x552729
lea edi, [esp + 0x100]
lea esi, [esp + 0xd8]
call fcn.0045fb1e
movzx ecx, byte [esp + 0xfd]
test cl, cl
je 0x552745
movzx ecx, byte [esp + 0x111]
test cl, cl
jne 0x55287a
movzx ecx, byte [esp + 0xe8]
test cl, cl
je 0x55262d
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x552902
lea ecx, [eax + 4]
mov dword [esp], ecx
call fcn.0045d830
movzx eax, byte [esp + 4]
test al, al
je 0x55262d
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.004a0480
jmp 0x55262d
cmp ecx, 1
jne 0x552902
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov ecx, dword [esp + 0x134]
mov dword [esp + 4], ecx
call fcn.00549c00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xac], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xb0], edx
mov dword [esp], eax
call fcn.004330f0
test eax, eax
jne 0x5528f6
lea eax, [0x640540]
mov dword [esp], eax
call fcn.0040b470
mov eax, dword [esp + 4]
lea ecx, [0x552930]
mov dword [eax], ecx
mov edx, dword [0x84e4b0]
test edx, edx
jne 0x552820
mov edx, dword [esp + 0xb4]
mov dword [eax + 4], edx
jmp 0x55283a
lea edi, [eax + 4]
mov edx, eax
mov eax, dword [esp + 0xb4]
call fcn.0045f3a0
mov eax, edx
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb0]
mov dword [eax + 8], ebx
mov ebx, dword [0x84e4b0]
test ebx, ebx
jne 0x55285a
mov ebx, dword [esp + 0xac]
mov dword [eax + 0xc], ebx
jmp 0x55286d
lea edi, [eax + 0xc]
mov ebx, eax
mov eax, dword [esp + 0xac]
call fcn.0045f3a0
mov eax, ebx
mov dword [esp], eax
call fcn.0043f4c0
jmp 0x55262d
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], ecx
call fcn.004337c0
add esp, 0x128
ret
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
call fcn.004337c0
add esp, 0x128
ret
call fcn.004337c0
add esp, 0x128
ret
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf018]
mov dword [esp + 4], eax
call fcn.00434270
nop
call fcn.0045df90
jmp fcn.00552240