Function at 0x51dbe0
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 + 0x600]
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 0x51dc2e
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.0x51dc3d.3
jmp dword [eax*4 + 0x51df60]
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.0046c4c0
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.0046c4c0
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.0046c360
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.005204d0
push eax
push esi
lea ecx, [esp + 0x28]
call fcn.0043b370
push eax
lea ecx, [esp + 0x14]
call fcn.0046c3b0
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.00467920
test ebx, ebx
jne 0x51de52
test al, al
jne 0x51de56
push 0x91
push edi
mov ecx, ebp
call fcn.00467920
test al, al
je 0x51dd45
mov ecx, dword [esi + 0x30]
push ecx
lea ecx, [esp + 0x14]
call fcn.0046c550
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.00467920
test al, al
je 0x51dd75
mov edx, dword [esi + 0x30]
push edx
lea ecx, [esp + 0x14]
call fcn.0046c550
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.00467920
test al, al
je 0x51dda5
mov eax, dword [esi + 0x34]
push eax
lea ecx, [esp + 0x14]
call fcn.0046c550
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.00467920
test al, al
je 0x51ddd5
mov ecx, dword [esi + 0x34]
push ecx
lea ecx, [esp + 0x14]
call fcn.0046c550
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.00467920
test al, al
je 0x51de05
mov edx, dword [esi + 0x34]
push edx
lea ecx, [esp + 0x14]
call fcn.0046c550
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.00467920
test al, al
jne 0x51dd86
mov ecx, dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x14]
call fcn.0046c5f0
lea ecx, [esp + 0x10]
call fcn.0040bfc0
or esi, 1
push esi
mov ecx, eax
mov byte [eax + 0x25], 0x27
call fcn.0049ba20
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 0x51de78
mov edx, dword [esi + 0x34]
mov eax, dword [edx + 0x20]
push eax
lea ecx, [esp + 0x14]
call fcn.0046c530
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.005911d1
cmp eax, 4
jne 0x51dd89
mov ecx, dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x14]
call fcn.0046c5f0
lea ecx, [esp + 0x10]
call fcn.0040bfc0
push eax
push edi
mov ecx, ebx
mov dword [esp + 0x1c], eax
call fcn.005913c5
mov edx, dword [esi]
push 0
mov ecx, esi
call dword [edx + 0x80]
mov edi, eax
test edi, edi
je 0x51df4e
jmp 0x51ded0
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.00583275
mov ecx, eax
call fcn.005879f1
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.0051dbe0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
add esp, 0x10
push 0
push edx
add ebp, 4
push ebp
call fcn.0049f350
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 0x51deca
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