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

Disassembly:
sub esp, 0x10
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x18]
push ebx
push ebp
mov ebp, dword [edx + 0x10]
push esi
mov esi, dword [ebp + 0x61c]
push edi
mov edi, dword [esp + 0x2c]
cmp edi, 4
mov ecx, 2
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ecx
jae 0x52e51e
mov eax, dword [esp + 0x24]
pop edi
pop esi
mov dword [esp + 8], 0xa
mov ecx, dword [esp + 8]
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x10
ret
mov eax, edi
and eax, 7
dec eax
cmp eax, 6
ja case.0x52e52d.3
jmp dword [eax*4 + 0x52e850]
sar edi, 3
mov dword [esp + 0x28], edi
fild dword [esp + 0x28]
push esi
sub esp, 8
lea ecx, [esp + 0x1c]
fstp qword [esp]
call fcn.004767d0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x10
ret
push esi
and edi, 0xfffffff8
fld qword [edi]
sub esp, 8
lea ecx, [esp + 0x1c]
fstp qword [esp]
call fcn.004767d0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x10
ret
xor ecx, ecx
cmp edi, 0xd
sete cl
push ecx
lea ecx, [esp + 0x14]
call fcn.00476670
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x10
ret
mov ecx, edi
push 8
and ecx, 0xfffffff8
call fcn.00530ed0
push eax
push esi
lea ecx, [esp + 0x28]
call fcn.0043c970
push eax
lea ecx, [esp + 0x14]
call fcn.004766c0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x10
ret
mov ebx, dword [esp + 0x30]
push 0xaf
mov esi, edi
mov ecx, ebp
push edi
and esi, 0xfffffff8
call fcn.00471c00
test ebx, ebx
jne 0x52e742
test al, al
jne 0x52e746
push 0x91
push edi
mov ecx, ebp
call fcn.00471c00
test al, al
je 0x52e635
mov ecx, dword [esi + 0x34]
push ecx
lea ecx, [esp + 0x14]
call fcn.00476860
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x10
ret
push 0x89
push edi
mov ecx, ebp
call fcn.00471c00
test al, al
je 0x52e665
mov edx, dword [esi + 0x34]
push edx
lea ecx, [esp + 0x14]
call fcn.00476860
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x10
ret
push 0x92
push edi
mov ecx, ebp
call fcn.00471c00
test al, al
je 0x52e695
mov eax, dword [esi + 0x38]
push eax
lea ecx, [esp + 0x14]
call fcn.00476860
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x10
ret
push 0x93
push edi
mov ecx, ebp
call fcn.00471c00
test al, al
je 0x52e6c5
mov ecx, dword [esi + 0x38]
push ecx
lea ecx, [esp + 0x14]
call fcn.00476860
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x10
ret
push 0x95
push edi
mov ecx, ebp
call fcn.00471c00
test al, al
je 0x52e6f5
mov edx, dword [esi + 0x38]
push edx
lea ecx, [esp + 0x14]
call fcn.00476860
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x10
ret
push 0x96
push edi
mov ecx, ebp
call fcn.00471c00
test al, al
jne 0x52e676
mov ecx, dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x14]
call fcn.00476900
lea ecx, [esp + 0x10]
call fcn.00426650
or esi, 1
push esi
mov ecx, eax
mov byte [eax + 0x25], 0x27
call fcn.004a7f20
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x10
ret
test al, al
je 0x52e768
mov edx, dword [esi + 0x38]
mov eax, dword [edx + 0x20]
push eax
lea ecx, [esp + 0x14]
call fcn.00476840
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x10
ret
mov edi, esi
or edi, 1
push edi
mov ecx, ebx
call fcn.005a846a
cmp eax, 4
jne 0x52e679
mov ecx, dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x14]
call fcn.00476900
lea ecx, [esp + 0x10]
call fcn.00426650
push eax
push edi
mov ecx, ebx
mov dword [esp + 0x1c], eax
call fcn.005a865e
mov edx, dword [esi]
push 0
mov ecx, esi
call dword [edx + 0x80]
mov edi, eax
test edi, edi
je 0x52e83e
jmp 0x52e7c0
mov ebp, dword [esp + 0x18]
mov edi, edi
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x78]
mov ebx, eax
push ebx
mov ecx, ebp
call fcn.00597735
mov ecx, eax
call fcn.0059e2bf
mov ecx, dword [esp + 0x30]
mov edx, dword [esi]
push ecx
push ebx
mov ecx, esi
mov ebp, eax
call dword [edx + 0x10]
push eax
mov eax, dword [esp + 0x30]
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.0052e4d0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
add esp, 0x10
push 0
push edx
add ebp, 4
push ebp
call fcn.004ac970
mov eax, dword [esi]
push edi
mov ecx, esi
mov dword [esp + 0x30], 0
call dword [eax + 0x80]
mov edi, eax
test edi, edi
jne 0x52e7ba
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x10
ret
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x10
ret