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

Disassembly:
sub esp, 0x88
mov ecx, dword [0x7fb2d0]
mov edx, dword [ecx + 0x34]
push ebx
and eax, 0xffff
push ebp
mov ebp, dword [esp + 0x94]
lea eax, [eax + eax*2]
push esi
mov esi, dword [edx + eax*4 + 8]
mov eax, dword [esi + 0x10]
xor ebx, ebx
test ah, ah
mov dword [esp + 0xc], ebx
jns 0x4f5b9a
mov dword [esp + 0xc], 1
mov eax, dword [esi]
mov ecx, dword [0x816d04]
and eax, 0xffff
shl eax, 5
mov edx, dword [eax + ecx + 0x14]
test byte [edx + 2], 4
je 0x4f5bb9
or dword [esp + 0xc], 4
lea eax, [esi + 0xa0]
push ebp
push eax
mov eax, dword [esp + 0x14]
push eax
call fcn.004f6000
mov ecx, dword [esi + 0x10]
add esp, 0xc
test ch, 0x40
jne 0x4f5ed2
test al, al
push edi
je 0x4f5be6
mov edi, 1
jmp 0x4f5c00
mov ecx, 0x1d
xor eax, eax
mov edi, ebp
rep stosd dword es:[edi], eax
mov dword [esp + 0x14], ebx
mov word [ebp + 0xc], 2
mov edi, ebx
lea ecx, [ecx]
test bl, 1
je 0x4f5c0d
fld dword [0x612650]
jmp 0x4f5c13
fld dword [0x6128f8]
test bl, 2
fmul dword [esi + 0xac]
fadd dword [esi + 0xa0]
fstp dword [esp + 0x18]
je 0x4f5c30
fld dword [0x612650]
jmp 0x4f5c36
fld dword [0x6128f8]
fmul dword [esi + 0xac]
mov ecx, dword [esi + 0xa8]
lea edx, [esp + 0x24]
push edx
fadd dword [esi + 0xa4]
lea eax, [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
push eax
fstp dword [esp + 0x24]
push ecx
call fcn.004f6000
add esp, 0xc
test al, al
je 0x4f5d7c
fld dword [esp + 0x24]
inc edi
fadd dword [ebp]
fstp dword [ebp]
fld dword [esp + 0x28]
fadd dword [ebp + 4]
fstp dword [ebp + 4]
fld dword [esp + 0x2c]
fadd dword [ebp + 8]
fstp dword [ebp + 8]
fld dword [esp + 0x70]
fadd dword [ebp + 0x4c]
fstp dword [ebp + 0x4c]
fld dword [esp + 0x74]
fadd dword [ebp + 0x50]
fstp dword [ebp + 0x50]
fld dword [esp + 0x78]
fadd dword [ebp + 0x54]
fstp dword [ebp + 0x54]
fld dword [esp + 0x7c]
fadd dword [ebp + 0x58]
fstp dword [ebp + 0x58]
fld dword [esp + 0x34]
fadd dword [ebp + 0x10]
fstp dword [ebp + 0x10]
fld dword [esp + 0x38]
fadd dword [ebp + 0x14]
fstp dword [ebp + 0x14]
fld dword [esp + 0x3c]
fadd dword [ebp + 0x18]
fstp dword [ebp + 0x18]
fld dword [esp + 0x40]
fadd dword [ebp + 0x1c]
fstp dword [ebp + 0x1c]
fld dword [esp + 0x44]
fadd dword [ebp + 0x20]
fstp dword [ebp + 0x20]
fld dword [esp + 0x48]
fadd dword [ebp + 0x24]
fstp dword [ebp + 0x24]
fld dword [esp + 0x4c]
fadd dword [ebp + 0x28]
fstp dword [ebp + 0x28]
fld dword [esp + 0x50]
fadd dword [ebp + 0x2c]
fstp dword [ebp + 0x2c]
fld dword [esp + 0x54]
fadd dword [ebp + 0x30]
fstp dword [ebp + 0x30]
fld dword [esp + 0x58]
fadd dword [ebp + 0x34]
fstp dword [ebp + 0x34]
fld dword [esp + 0x5c]
fadd dword [ebp + 0x38]
fstp dword [ebp + 0x38]
fld dword [esp + 0x60]
fadd dword [ebp + 0x3c]
fstp dword [ebp + 0x3c]
fld dword [esp + 0x8c]
fadd dword [ebp + 0x68]
fstp dword [ebp + 0x68]
fld dword [esp + 0x90]
fadd dword [ebp + 0x6c]
fstp dword [ebp + 0x6c]
fld dword [esp + 0x94]
fadd dword [ebp + 0x70]
fstp dword [ebp + 0x70]
fld dword [esp + 0x80]
fadd dword [ebp + 0x5c]
fstp dword [ebp + 0x5c]
fld dword [esp + 0x84]
fadd dword [ebp + 0x60]
fstp dword [ebp + 0x60]
fld dword [esp + 0x88]
fadd dword [ebp + 0x64]
fstp dword [ebp + 0x64]
inc ebx
cmp bx, 4
jl 0x4f5c00
cmp di, 1
jle 0x4f5ebf
movsx edx, di
mov dword [esp + 0x14], edx
lea ecx, [ebp + 0x1c]
fild dword [esp + 0x14]
fdivr dword [0x612224]
fst dword [esp + 0x10]
fmul dword [ebp]
fstp dword [ebp]
fld dword [esp + 0x10]
fmul dword [ebp + 4]
fstp dword [ebp + 4]
fld dword [esp + 0x10]
fmul dword [ebp + 8]
fstp dword [ebp + 8]
fld dword [esp + 0x10]
fmul dword [ebp + 0x4c]
fstp dword [ebp + 0x4c]
fld dword [esp + 0x10]
fmul dword [ebp + 0x50]
fstp dword [ebp + 0x50]
fld dword [esp + 0x10]
fmul dword [ebp + 0x54]
fstp dword [ebp + 0x54]
fld dword [esp + 0x10]
fmul dword [ebp + 0x58]
fstp dword [ebp + 0x58]
fld dword [esp + 0x10]
fmul dword [ebp + 0x10]
fstp dword [ebp + 0x10]
fld dword [esp + 0x10]
fmul dword [ebp + 0x14]
fstp dword [ebp + 0x14]
fld dword [esp + 0x10]
fmul dword [ebp + 0x18]
fstp dword [ebp + 0x18]
fld dword [esp + 0x10]
fmul dword [ecx]
fstp dword [ecx]
fld dword [esp + 0x10]
fmul dword [ecx + 4]
fstp dword [ecx + 4]
fld dword [esp + 0x10]
fmul dword [ecx + 8]
fstp dword [ecx + 8]
call fcn.00401990
fstp st(0)
lea ecx, [ebp + 0x34]
fld dword [esp + 0x10]
fmul dword [ebp + 0x28]
fstp dword [ebp + 0x28]
fld dword [esp + 0x10]
fmul dword [ebp + 0x2c]
fstp dword [ebp + 0x2c]
fld dword [esp + 0x10]
fmul dword [ebp + 0x30]
fstp dword [ebp + 0x30]
fld dword [esp + 0x10]
fmul dword [ecx]
fstp dword [ecx]
fld dword [esp + 0x10]
fmul dword [ecx + 4]
fstp dword [ecx + 4]
fld dword [esp + 0x10]
fmul dword [ecx + 8]
fstp dword [ecx + 8]
call fcn.00401990
fstp st(0)
lea ecx, [ebp + 0x5c]
fld dword [esp + 0x10]
fmul dword [ebp + 0x68]
fstp dword [ebp + 0x68]
fld dword [esp + 0x10]
fmul dword [ebp + 0x6c]
fstp dword [ebp + 0x6c]
fld dword [esp + 0x10]
fmul dword [ebp + 0x70]
fstp dword [ebp + 0x70]
fld dword [esp + 0x10]
fmul dword [ecx]
fstp dword [ecx]
fld dword [esp + 0x10]
fmul dword [ecx + 4]
fstp dword [ecx + 4]
fld dword [esp + 0x10]
fmul dword [ecx + 8]
fstp dword [ecx + 8]
call fcn.00401990
pop edi
fstp st(0)
pop esi
pop ebp
pop ebx
add esp, 0x88
ret
test di, di
jne 0x4f5ed1
mov ecx, 0x1d
lea esi, [esp + 0x24]
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret