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

Disassembly:
push 0xc
mov eax, 0x50b610
call 0x5ce602
test edi, edi
je 0x55385c
push 0x516e10
lea ecx, [ebp - 0x10]
call fcn.004f3b3f
and dword [ebp - 4], 0
push esi
call 0x58e8f0
mov dword [esp], 0x5228f8
push esi
call 0x58e6b0
movzx eax, byte [edi + 4]
push eax
push esi
call 0x58e7e0
push 0xfffffffffffffffd
pop ebx
push ebx
push esi
call 0x58e9f0
push 0x5228e0
push esi
call 0x58e6b0
movzx eax, byte [edi + 5]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x5228cc
push esi
call 0x58e6b0
movzx eax, byte [edi + 6]
push eax
push esi
call 0x58e7e0
add esp, 0x40
push ebx
push esi
call 0x58e9f0
push 0x5228b8
push esi
call 0x58e6b0
movzx eax, byte [edi + 7]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x5228ac
push esi
call 0x58e6b0
push dword [edi + 8]
push esi
call 0x58e6b0
push ebx
push esi
call 0x58e9f0
push 0x5228a0
push esi
call 0x58e6b0
add esp, 0x40
push dword [edi + 0xc]
push esi
call 0x58e6b0
push ebx
push esi
call 0x58e9f0
push 0x522894
push esi
call 0x58e6b0
push dword [edi + 0x10]
push esi
call 0x58e6b0
push ebx
push esi
call 0x58e9f0
push 0x522884
push esi
call 0x58e6b0
push dword [edi + 0x14]
push esi
call 0x58e6b0
push ebx
push esi
call 0x58e9f0
add esp, 0x40
push 0x522874
push esi
call 0x58e6b0
push dword [edi + 0x18]
push esi
call 0x58e6b0
push ebx
push esi
call 0x58e9f0
push 0x521588
push esi
call 0x58e6b0
push dword [edi + 0x1c]
push esi
call 0x58e6b0
push ebx
push esi
call 0x58e9f0
push 0x522864
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x20]
push eax
push esi
call 0x58e7e0
add esp, 0x40
push ebx
push esi
call 0x58e9f0
push 0x522854
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x21]
mov dword [ebp - 0x18], eax
add esp, 8
fild dword [ebp - 0x18]
fstp qword [esp]
push esi
call 0x58e630
push ebx
push esi
call 0x58e9f0
push 0x522848
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x30]
and eax, 1
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x52283c
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x30]
and eax, 2
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
add esp, 0x44
push 0x522830
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x30]
and eax, 4
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x522824
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x30]
and eax, 0x20
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x521868
push esi
call 0x58e6b0
add esp, 0x38
push 0x51b354
lea eax, [ebp - 0x18]
lea ecx, [edi + 0x34]
push eax
call fcn.0051e3e3
push dword [eax]
push esi
call 0x58e6b0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.004f3357
push ebx
push esi
call 0x58e9f0
push 0x521858
push esi
call 0x58e6b0
add esp, 0x10
push 0x521844
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x34]
call fcn.0051e3e3
push dword [eax]
push esi
call 0x58e6b0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.004f3357
push ebx
push esi
call 0x58e9f0
push 0x521838
push esi
call 0x58e6b0
add esp, 0x10
push 0x51b354
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x3c]
call fcn.0051e3e3
push dword [eax]
push esi
call 0x58e6b0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.004f3357
push ebx
push esi
call 0x58e9f0
push 0x521828
push esi
call 0x58e6b0
add esp, 0x10
push 0x521844
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x34]
call fcn.0051e3e3
push dword [eax]
push esi
call 0x58e6b0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.004f3357
push ebx
push esi
call 0x58e9f0
push 0x522814
push esi
call 0x58e6b0
add esp, 0x10
push 0x51b354
lea eax, [ebp - 0x18]
lea ecx, [edi + 0x44]
push eax
call fcn.0051e3e3
push dword [eax]
push esi
call 0x58e6b0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.004f3357
push ebx
push esi
call 0x58e9f0
push 0x522804
push esi
call 0x58e6b0
add esp, 0x10
push 0x521844
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x44]
call fcn.0051e3e3
push dword [eax]
push esi
call 0x58e6b0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.004f3357
push ebx
push esi
call 0x58e9f0
push 0x5227f8
push esi
call 0x58e6b0
push dword [edi + 0x68]
push esi
call 0x58e6b0
push ebx
push esi
call 0x58e9f0
push 0x5227e8
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x6d]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x5227d8
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x6e]
add esp, 0x40
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x5227c4
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x6f]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x5227a8
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x70]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
add esp, 0x40
push 0x522788
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x71]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x522774
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x72]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x522760
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x73]
push eax
push esi
call 0x58e7e0
add esp, 0x40
push ebx
push esi
call 0x58e9f0
push 0x522748
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x74]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x522734
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x75]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x522720
push esi
call 0x58e6b0
add esp, 0x40
push dword [edi + 0x78]
push esi
call 0x58e6b0
push ebx
push esi
call 0x58e9f0
push 0x52270c
push esi
call 0x58e6b0
push dword [edi + 0x7c]
push esi
call 0x58e6b0
push ebx
push esi
call 0x58e9f0
push 0x5226f8
push esi
call 0x58e6b0
push dword [edi + 0x80]
push esi
call 0x58e6b0
push ebx
push esi
call 0x58e9f0
add esp, 0x40
push 0x5226e0
push esi
call 0x58e6b0
push dword [edi + 0x84]
push esi
call 0x58e6b0
push ebx
push esi
call 0x58e9f0
push 0x5226d0
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x8c]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x5226c4
push esi
call 0x58e6b0
push dword [edi + 0x90]
push esi
call 0x58e6b0
add esp, 0x40
push ebx
push esi
call 0x58e9f0
push 0x5226b8
push esi
call 0x58e6b0
fild dword [edi + 0x94]
mov eax, dword [edi + 0x94]
test eax, eax
jge 0x553443
fadd qword [0x516fe0]
add esp, 8
fstp qword [esp]
push esi
call 0x58e630
push ebx
push esi
call 0x58e9f0
push 0x5226a8
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x98]
add esp, 0x1c
sub eax, 0
push ecx
push ecx
je 0x553488
dec eax
je 0x553480
dec eax
jne 0x553488
fld qword [0x5226a0]
jmp 0x55348a
fld qword [0x522698]
jmp 0x55348a
fld1
fstp qword [esp]
push esi
call 0x58e630
add esp, 0xc
push ebx
push esi
call 0x58e9f0
push 0x522688
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x9c]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x51ff5c
push esi
call 0x58e6b0
push dword [edi + 0xa0]
push esi
call 0x58e6b0
push ebx
push esi
call 0x58e9f0
push 0x522678
push esi
call 0x58e6b0
movzx eax, byte [edi + 0xa4]
add esp, 0x40
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x522668
push esi
call 0x58e6b0
movzx eax, byte [edi + 0xa5]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x522654
push esi
call 0x58e6b0
movzx eax, byte [edi + 0xa6]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
add esp, 0x40
push 0x522644
push esi
call 0x58e6b0
movzx eax, byte [edi + 0xa7]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x522634
push esi
call 0x58e6b0
movzx eax, byte [edi + 0xb4]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x52261c
push esi
call 0x58e6b0
movzx eax, byte [edi + 0xa8]
push eax
push esi
call 0x58e7e0
add esp, 0x40
push ebx
push esi
call 0x58e9f0
push 0x522604
push esi
call 0x58e6b0
mov eax, dword [edi + 0xac]
and eax, 1
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x5225f0
push esi
call 0x58e6b0
mov eax, dword [edi + 0xac]
and eax, 0x20
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x5225dc
push esi
call 0x58e6b0
mov eax, dword [edi + 0xac]
add esp, 0x40
and eax, 2
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x5225c8
push esi
call 0x58e6b0
mov eax, dword [edi + 0xac]
and eax, 4
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x5225b8
push esi
call 0x58e6b0
fild dword [edi + 0xb0]
add esp, 0x28
fstp qword [esp]
push esi
call 0x58e630
push ebx
push esi
call 0x58e9f0
push 0x5225ac
push esi
call 0x58e6b0
movzx eax, byte [edi + 0xb5]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
push 0x522598
push esi
call 0x58e6b0
movzx eax, byte [edi + 0xb6]
push eax
push esi
call 0x58e7e0
push ebx
push esi
call 0x58e9f0
and dword [ebp - 0x14], 0
add esp, 0x44
cmp dword [edi + 0xfc], 0
jle 0x553711
push esi
call 0x58e8f0
mov eax, dword [edi + 0xf4]
test eax, eax
pop ecx
mov dword [ebp - 0x18], eax
je 0x5536f2
inc dword [ebp - 0x14]
fild dword [ebp - 0x14]
push ecx
push ecx
fstp qword [esp]
push esi
call 0x58e630
add esp, 0xc
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0xf0]
call 0x5ab2f3
push dword [eax]
push esi
call 0x58e6b0
push ebx
push esi
call 0x58e9f0
add esp, 0x10
cmp dword [ebp - 0x18], 0
jne 0x5536b7
push 0x52258c
push esi
call 0x58e6b0
push 0xfffffffffffffffe
push esi
call 0x58e1a0
push ebx
push esi
call 0x58e9f0
add esp, 0x18
jmp 0x55372c
push 0x52258c
push esi
call 0x58e6b0
push esi
call 0x58e610
push ebx
push esi
call 0x58e9f0
add esp, 0x14
push 0x522584
push esi
call 0x58e6b0
push dword [edi + 0x10c]
push esi
call 0x58e6b0
push ebx
push esi
call 0x58e9f0
push 0x522580
push esi
call 0x58e6b0
fild dword [edi + 0x118]
mov eax, dword [edi + 0x118]
test eax, eax
jge 0x55376b
fadd qword [0x516fe0]
add esp, 0x18
fstp qword [esp]
push esi
call 0x58e630
push ebx
push esi
call 0x58e9f0
push 0x522574
push esi
call 0x58e6b0
movzx eax, word [edi + 0x9a]
mov dword [ebp - 0x18], eax
add esp, 0x14
fild dword [ebp - 0x18]
fstp qword [esp]
push esi
call 0x58e630
push ebx
push esi
call 0x58e9f0
push 0x522568
push esi
call 0x58e6b0
movzx eax, byte [edi + 0x6c]
mov dword [ebp - 0x18], eax
add esp, 0x14
fild dword [ebp - 0x18]
fstp qword [esp]
push esi
call 0x58e630
push ebx
push esi
call 0x58e9f0
movzx eax, word [edi + 0x54]
push eax
movzx eax, word [edi + 0x56]
push eax
movzx eax, word [edi + 0x50]
push eax
movzx eax, word [edi + 0x52]
push eax
lea eax, [ebp - 0x10]
push 0x51ff7c
push eax
call fcn.004f4411
push 0x5215a4
push esi
call 0x58e6b0
push dword [ebp - 0x10]
push esi
call 0x58e6b0
push ebx
push esi
call 0x58e9f0
movzx eax, word [edi + 0x5c]
add esp, 0x44
push eax
movzx eax, word [edi + 0x5e]
push eax
movzx eax, word [edi + 0x58]
push eax
movzx eax, word [edi + 0x5a]
push eax
lea eax, [ebp - 0x10]
push 0x51ff7c
push eax
call fcn.004f4411
push 0x5215b4
push esi
call 0x58e6b0
push dword [ebp - 0x10]
push esi
call 0x58e6b0
push ebx
push esi
call 0x58e9f0
mov ecx, dword [ebp - 0x10]
add esp, 0x30
add ecx, 0xfffffff0
call fcn.004f3357
call 0x5ce6da
ret