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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x73f138
push eax
mov eax, dword [esp + 0x18]
mov dword fs:[0], esp
sub esp, 0x68
mov dword [eax], 0xffffffff
mov al, 1
push ebx
mov ebx, ecx
mov cl, byte [0x93f94c]
push ebp
push esi
push edi
test al, cl
jne 0x47ec8b
mov dl, cl
push fcn.0040de30
or dl, al
mov byte [0x93f94c], dl
call fcn.00726f2f
add esp, 4
fild dword [esp + 0x88]
mov ecx, dword [0x805764]
xor ebp, ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebp
fadd st(0), st(0)
fidiv dword [esp + 0x10]
mov edx, dword [0x805768]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], edx
push 0x805774
lea eax, [esp + 0x3c]
push ebp
push eax
mov dword [0x93f958], 0x3f800000
fsub dword [0x765618]
fdiv dword [0x8057f4]
fstp dword [0x93f950]
fild dword [esp + 0x98]
fadd st(0), st(0)
fidiv dword [esp + 0x1c]
fsub dword [0x765618]
fdiv dword [0x805808]
fchs
fstp dword [0x93f954]
call fcn.0070054e
fld dword [esp + 0x58]
fmul dword [0x93f958]
fld dword [0x93f954]
fmul dword [esp + 0x48]
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x3c]
faddp st(1)
fld dword [0x93f950]
fmul dword [esp + 0x3c]
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x60]
fmul dword [0x93f958]
fld dword [esp + 0x50]
fmul dword [0x93f954]
faddp st(1)
fld dword [esp + 0x40]
fmul dword [0x93f950]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x64]
fmul dword [0x93f958]
fld dword [esp + 0x54]
fmul dword [0x93f954]
faddp st(1)
fld dword [esp + 0x44]
fmul dword [0x93f950]
faddp st(1)
fstp dword [esp + 0x2c]
call fcn.004255d0
push eax
lea ecx, [esp + 0x30]
call fcn.004345b0
mov esi, dword [ebx + 0x44]
cmp esi, ebp
je 0x47ef31
mov dl, byte [esp + 0x90]
mov dword [esp + 0x14], ebp
mov byte [esp + 0x10], dl
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
lea ecx, [esp + 0x10]
mov dword [esp + 0x80], ebp
call fcn.00482290
cmp eax, esi
jae 0x47ee28
cmp esi, ebp
mov eax, esi
jge 0x47edcb
xor eax, eax
shl eax, 2
push eax
call fcn.00726f70
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
add esp, 4
mov edi, eax
push edi
push ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.00642560
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.006bc100
mov edx, dword [esp + 0x14]
push edx
call fcn.00726ea6
lea eax, [edi + esi*4]
add esp, 4
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.0045f660
lea ecx, [edi + eax*4]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ecx
lea edx, [esp + 0x88]
lea ecx, [ebx + 0x38]
push edx
call fcn.006bc010
mov esi, dword [ebx + 0x3c]
mov eax, dword [esp + 0x88]
cmp eax, esi
je 0x47ee6f
add eax, 0x10
lea ecx, [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
push eax
call fcn.0046f080
lea ecx, [esp + 0x88]
call fcn.0047a490
mov eax, dword [esp + 0x88]
cmp eax, esi
jne 0x47ee46
mov ecx, dword [esp + 0x14]
cmp ecx, ebp
jne 0x47ee7b
xor eax, eax
jmp 0x47ee84
mov eax, dword [esp + 0x18]
sub eax, ecx
sar eax, 2
push 0x47fb90
push 4
push eax
push ecx
call fcn.0072790a
mov ebx, dword [esp + 0xa4]
mov edx, dword [esp + 0x24]
add esp, 0x10
xor edi, edi
cmp edx, ebp
je 0x47ef1d
mov ecx, dword [esp + 0x18]
sub ecx, edx
sar ecx, 2
cmp edi, ecx
jae 0x47ef1d
mov esi, dword [edx + edi*4]
mov eax, dword [esi + 0x18c]
cmp eax, ebp
jl 0x47eeef
cmp eax, 4
jge 0x47eeef
mov ecx, dword [esi + 0x184]
cmp ecx, ebp
je 0x47eeef
push ebp
lea edx, [esp + 0x24]
push ebx
push edx
lea eax, [esp + 0x38]
lea edx, [esi + 0xa4]
push eax
push edx
call fcn.00454420
test al, al
jne 0x47eef2
mov edx, dword [esp + 0x14]
inc edi
jmp 0x47eea2
mov ecx, dword [esp + 0x90]
mov eax, dword [esi + 0x474]
mov edx, dword [esp + 0x14]
mov dword [ecx], eax
push edx
mov dword [esp + 0x84], 0xffffffff
call fcn.00726ea6
add esp, 4
mov eax, esi
jmp 0x47ef33
push edx
mov dword [esp + 0x84], 0xffffffff
call fcn.00726ea6
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x74
ret 0x10