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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x54]
cmp eax, dword [ecx + 8]
jbe 0x552833
sub esp, 0xd4
mov eax, dword [esp + 0xd8]
mov ecx, dword [eax]
mov edx, dword [eax + 0x30]
test edx, edx
je 0x552816
mov dword [esp + 0x64], ecx
lea eax, [0x5f0740]
mov dword [esp], eax
call fcn.0040b8d0
mov eax, dword [esp + 0xd8]
mov ecx, dword [eax + 0x30]
mov edi, dword [esp + 4]
mov edx, dword [ecx + 0x28]
mov ebx, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x2c]
mov dword [edi + 4], ecx
mov dword [edi + 8], ebx
mov ecx, dword [0x7a0970]
test ecx, ecx
jne 0x552806
mov dword [edi], edx
mov ecx, dword [eax + 0x30]
mov edx, dword [ecx + 0x10]
mov ebx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x14]
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], ebx
mov ecx, dword [0x7a0970]
test ecx, ecx
jne 0x5527f1
mov dword [edi + 0xc], edx
mov eax, dword [esp + 0x64]
movzx ecx, word [eax + 0x24]
mov word [edi + 0x18], cx
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.0054f470
mov esi, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x5527dc
mov dword [esp + 0x60], esi
lea edi, [esp + 0x88]
xor eax, eax
call fcn.0045e09d
lea edi, [esp + 0x94]
call fcn.0045e52a
mov ecx, dword [esp + 0xd8]
mov edx, dword [ecx + 0x30]
movzx edx, byte [edx + 0xd]
test dl, dl
je 0x5527d1
mov edx, dword [esp + 0x60]
mov ebx, dword [edx + 0x30]
test ebx, ebx
setg bl
mov byte [esp + 0xd1], bl
mov ebx, dword [ecx + 0x30]
movzx ebx, byte [ebx + 0xc]
test bl, bl
je 0x5527ca
mov ebx, dword [edx + 0x24]
test ebx, ebx
setg bl
mov byte [esp + 0xd0], bl
lea eax, [esp + 0x88]
mov dword [esp], eax
call fcn.00557ea0
mov eax, dword [esp + 0xd8]
mov ecx, dword [eax + 0x3c]
mov edx, dword [eax + 0x40]
mov ecx, dword [ecx + 0x20]
mov dword [esp], edx
call ecx
lea eax, [esp + 0x88]
mov dword [esp], eax
call fcn.00557ea0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x64]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00546f10
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x5527b5
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 4]
test edx, edx
je 0x552798
lea edi, [esp + 0x6c]
xor eax, eax
call fcn.0045e0a9
mov byte [esp + 0x78], 1
mov ecx, dword [esp + 0xd8]
mov edx, dword [ecx + 0x30]
mov ebx, dword [esp + 0x64]
movzx ebp, word [ebx + 0x24]
mov esi, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
mov edx, dword [edx + 0x18]
mov word [esp], bp
mov ebp, dword [esp + 0x60]
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.0053ee30
movzx ecx, word [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov word [esp + 0x7a], cx
test edx, edx
jne 0x552762
mov word [esp], cx
call fcn.0053e4c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 4]
test ecx, ecx
jne 0x552734
mov dword [esp + 0x48], eax
mov byte [esp + 0x37], dl
mov ecx, dword [esp + 0xd8]
mov edx, dword [ecx + 0x3c]
mov ebx, dword [ecx + 0x40]
mov dword [esp], eax
lea ebp, [0x619644]
mov dword [esp + 4], ebp
mov dword [esp + 8], 0x22
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.0053e280
mov eax, dword [esp + 0x14]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0x48]
mov dword [esp], ebx
call fcn.00409020
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 0x37]
cmp cl, 0xe2
je 0x55270a
lea ecx, [0x65ec6c]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0x60]
mov ebx, dword [edx + 0xc]
mov edx, dword [edx + 0x10]
lea ebp, [0x5e5340]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.004094f0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov ebp, dword [ecx]
mov ecx, dword [ecx + 4]
test ebp, ebp
je 0x5526f9
mov eax, dword [ebx + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x1c], ecx
call eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
test eax, eax
je 0x55264f
mov dword [esp + 0x4c], eax
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.005464e0
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x68]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x6186e6]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1f
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004484b0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
lea edx, [0x5e46a0]
mov dword [esp], edx
call fcn.0040b8d0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x38]
mov dword [edi + 4], eax
mov eax, dword [0x7a0970]
test eax, eax
jne 0x552644
mov eax, dword [esp + 0x50]
mov dword [edi], eax
lea eax, [0x65e99c]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xd4
ret
mov eax, dword [esp + 0x50]
call fcn.0045de10
jmp 0x552629
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], ebx
mov dword [esp + 0x7c], edx
lea eax, [esp + 0x6c]
mov dword [esp], eax
call fcn.00559c80
mov eax, dword [esp + 0xd8]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x40]
mov ecx, dword [ecx + 0x20]
mov dword [esp], eax
call ecx
lea eax, [esp + 0x6c]
mov dword [esp], eax
call fcn.00559c80
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x64]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00546f10
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
je 0x5526dc
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], edx
add esp, 0xd4
ret
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xd4
ret
mov ebp, dword [0x782f30]
mov ecx, dword [0x782f34]
jmp 0x552545
lea eax, [0x5e96c0]
mov dword [esp], eax
call fcn.0040b8d0
mov eax, dword [esp + 4]
mov dword [eax], 0xffffffff
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
lea ecx, [0x65e94c]
jmp 0x552501
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.005464e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
add esp, 0xd4
ret
mov dword [esp + 0x68], ebx
mov dword [esp + 0x5c], ebp
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov byte [esp + 4], 0x28
call fcn.005464e0
mov eax, dword [esp + 0x68]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xe0], eax
add esp, 0xd4
ret
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xd4
ret
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], edx
add esp, 0xd4
ret
xor ebx, ebx
jmp 0x552384
mov edx, dword [esp + 0x60]
xor ebx, ebx
jmp 0x552366
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], edx
add esp, 0xd4
ret
lea ecx, [edi + 0xc]
mov ebx, edi
mov edi, ecx
mov eax, edx
call fcn.0045de10
mov edi, ebx
jmp 0x5522f6
mov ecx, eax
mov eax, edx
call fcn.0045de10
mov eax, ecx
jmp 0x5522d3
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xd4
ret
call fcn.0045c8b0
jmp fcn.00552260