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

Disassembly:
mov eax, dword [0x5c4c64]
sub esp, 0xd4
cmp eax, 1
push ebx
push ebp
push esi
mov ebx, ecx
jne 0x4f8106
mov eax, dword [0x5a6aa0]
xor ebp, ebp
cmp eax, ebp
jne 0x4f8106
call fcn.00424400
mov eax, dword [eax + 0xc4]
mov dword [esp + 0x10], eax
fld dword [esp + 0x10]
fcomp dword [0x552458]
fnstsw ax
test ah, 0x44
jnp 0x4f8106
mov eax, dword [ebx + 8]
cmp eax, ebp
jl 0x4f8106
cmp eax, 2
jle 0x4f7c42
cmp eax, 4
jne 0x4f8106
mov ecx, dword [esp + 0xe4]
mov dword [ecx + 0x24], 0x3f000000
fld dword [0x5c4d50]
fstp dword [ecx + 0x28]
mov eax, dword [ebx + 0xc4]
lea edx, [eax + eax*2]
shl edx, 3
sub edx, eax
mov eax, dword [0x5c507c]
mov eax, dword [eax + edx*4 + 4]
test al, al
jns 0x4f7c2a
mov edx, dword [esp + 0x10]
pop esi
pop ebp
mov dword [ecx + 0x20], edx
pop ebx
add esp, 0xd4
ret 4
test ah, 1
je 0x4f7f33
mov dword [ecx + 0x20], ebp
pop esi
pop ebp
pop ebx
add esp, 0xd4
ret 4
fld dword [esp + 0x10]
fcomp dword [0x552454]
fnstsw ax
test ah, 5
jnp 0x4f8106
mov eax, dword [ebx + 0x6c]
mov esi, dword [eax + 0x294]
lea eax, [esi + 0x64]
lea ecx, [esi + 0x58]
push eax
push ecx
push eax
push ecx
lea ecx, [esp + 0xe4]
push ecx
call fcn.004052a0
add esp, 0xc
lea ecx, [esp + 0xac]
push eax
call fcn.00423ad0
mov ecx, dword [esi + 4]
lea edx, [esp + 0xa4]
lea eax, [esp + 0xc8]
push edx
push eax
add ecx, 0xf0
call fcn.004f8790
lea ecx, [esp + 0x3c]
push eax
push ecx
call fcn.0051f470
add esi, 0x34
push eax
lea edx, [esp + 0x98]
push esi
push edx
call fcn.00405210
add esp, 0x18
lea eax, [esp + 0x88]
lea ecx, [esp + 0x94]
push 0x57fc60
push 0x3f800000
push eax
call fcn.00465a30
lea ecx, [esp + 0x7c]
push eax
push ecx
call fcn.0051f660
fld dword [esp + 0x8c]
fcomp dword [0x552458]
add esp, 0xc
push fcn.00403a30
push 3
fnstsw ax
push 0xc
test ah, 0x41
jp 0x4f7d23
lea edx, [esp + 0xb0]
push edx
call fcn.00401030
fld dword [0x552454]
jmp 0x4f7d52
fld dword [esp + 0x88]
fdiv dword [esp + 0x90]
lea eax, [esp + 0xb0]
push eax
fmul dword [0x55244c]
fsubr qword [0x552540]
fstp dword [esp + 0x24]
call fcn.00401030
fld dword [esp + 0x14]
fld dword [0x5c4c44]
fdivr dword [0x552454]
sub esp, 0xc
lea ecx, [esp + 0x38]
fsubr st(1)
fsub qword [0x554ed0]
fstp dword [esp + 0x18]
fstp st(0)
fld dword [ebx + 0x28]
fmul dword [ebx + 0x30]
fld dword [ebx + 0x34]
fmul dword [ebx + 0x24]
fsubp st(1)
fstp dword [esp + 8]
fld dword [ebx + 0x38]
fmul dword [ebx + 0x24]
fld dword [ebx + 0x2c]
fmul dword [ebx + 0x30]
fsubp st(1)
fstp dword [esp + 4]
fld dword [ebx + 0x34]
fmul dword [ebx + 0x2c]
fld dword [ebx + 0x38]
fmul dword [ebx + 0x28]
fsubp st(1)
fstp dword [esp]
call fcn.0040e9c0
fld dword [esp + 0x30]
fmul dword [0x552458]
fld dword [esp + 0x2c]
sub esp, 0xc
lea ecx, [esp + 0x6c]
fsub st(1)
fstp dword [esp + 8]
fld dword [esp + 0x40]
fmul dword [0x552458]
fld dword [esp + 0x38]
fmul dword [0x552458]
fsubp st(1)
fstp dword [esp + 4]
fsub dword [esp + 0x40]
fstp dword [esp]
call fcn.0040e9c0
lea ecx, [esp + 0x60]
call fcn.00403980
push ecx
lea ecx, [esp + 0x64]
lea edx, [esp + 0x24]
fstp dword [esp]
push ecx
push edx
call fcn.004039d0
fld dword [esp + 0x34]
fmul dword [ebx + 0x38]
fld dword [esp + 0x30]
fmul dword [ebx + 0x34]
lea ecx, [esp + 0x60]
faddp st(1)
fld dword [esp + 0x2c]
fmul dword [ebx + 0x30]
faddp st(1)
fld dword [esp + 0x34]
fmul st(1)
fstp dword [esp + 8]
fld dword [esp + 0x30]
fmul st(1)
fstp dword [esp + 4]
fld dword [esp + 0x2c]
fmul st(1)
fstp dword [esp]
fstp st(0)
call fcn.0040e9c0
fld dword [ebx + 0x38]
fsub dword [esp + 0x5c]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [ebx + 0x34]
fsub dword [esp + 0x64]
fstp dword [esp + 4]
fld dword [ebx + 0x30]
fsub dword [esp + 0x60]
lea ecx, [esp + 0x78]
fstp dword [esp]
call fcn.0040e9c0
lea ecx, [esp + 0x6c]
call fcn.00403980
push ecx
lea eax, [esp + 0x70]
lea ecx, [esp + 0x4c]
fstp dword [esp]
push eax
push ecx
call fcn.004039d0
fld dword [esp + 0x5c]
fmul dword [ebx + 0x2c]
fld dword [esp + 0x58]
fmul dword [ebx + 0x28]
add esp, 0xc
faddp st(1)
fld dword [esp + 0x48]
fmul dword [ebx + 0x24]
faddp st(1)
call fcn.005346b0
fptan
fstp st(0)
fld dword [ebx + 0x3c]
fmul dword [0x55244c]
fptan
fstp st(0)
fdivp st(1)
fmul qword [0x552540]
fadd qword [0x556108]
fld dword [esp + 0xc]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x4f7f19
fld dword [esp + 0xc]
mov edx, dword [esp + 0xe4]
fstp dword [edx + 0x24]
fsub dword [esp + 0xc]
fmul dword [0x553010]
fsubr dword [0x552454]
fmul dword [esp + 0x10]
fst dword [esp + 0x10]
fcomp dword [0x552458]
fnstsw ax
test ah, 0x41
jnp 0x4f8106
jmp 0x4f7f23
mov eax, dword [esp + 0xe4]
fstp dword [eax + 0x24]
fld dword [0x5c4c44]
mov ecx, dword [esp + 0xe4]
fstp dword [ecx + 0x28]
mov ecx, dword [0x5c4de0]
push edi
mov edi, dword [0x581d84]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], ebp
mov edx, dword [ebx + 0x6c]
mov eax, dword [0x5c4e44]
mov esi, dword [edx + 0x178]
cdq
idiv ecx
test eax, eax
jle 0x4f8087
mov edx, dword [esp + 0x20]
mov dword [esp + 0x18], eax
add edx, eax
mov dword [esp + 0x20], edx
test ebp, ebp
je 0x4f7f81
add esi, ecx
cmp esi, edi
jl 0x4f7f87
sub esi, edi
jmp 0x4f7f87
sub esi, ecx
jns 0x4f7f87
add esi, edi
mov eax, esi
push 0x57fc60
cdq
idiv dword [0x581d84]
push 0x3f800000
lea eax, [edx + edx*8]
lea ecx, [edx + eax*2]
mov edx, dword [0x581d80]
lea eax, [edx + ecx*4]
lea ecx, [esp + 0xa0]
push eax
call fcn.00465a30
push eax
lea eax, [esp + 0x44]
push eax
call fcn.0051f660
fld dword [esp + 0x50]
fcomp dword [0x552458]
add esp, 0xc
fnstsw ax
test ah, 0x41
jp 0x4f7fe0
fld dword [0x552458]
jmp 0x4f806a
fld dword [esp + 0x48]
fdivr qword [0x552510]
fld dword [esp + 0x3c]
fmul st(1)
fstp dword [esp + 0x10]
fmul dword [esp + 0x40]
fld dword [esp + 0x10]
fmul dword [0x55244c]
fcom dword [0x552458]
fnstsw ax
and eax, 0x100
je 0x4f8013
fchs
fld dword [0x552454]
fsub st(1)
fstp dword [esp + 0x10]
fstp st(0)
fcom dword [0x552458]
fnstsw ax
and eax, 0x100
je 0x4f8032
fchs
fsubr dword [0x552454]
fld dword [esp + 0x10]
fcomp dword [0x552458]
fnstsw ax
test ah, 5
jp 0x4f8051
mov dword [esp + 0x10], 0
fcom dword [0x552458]
fnstsw ax
test ah, 5
jp 0x4f8066
fstp st(0)
fld dword [0x552458]
fmul dword [esp + 0x10]
fadd dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5c4de0]
dec eax
mov dword [esp + 0x18], eax
fstp dword [esp + 0x1c]
jne 0x4f7f73
inc ebp
cmp ebp, 2
jl 0x4f7f4c
fld dword [0x5c4df8]
fidiv dword [esp + 0x20]
pop edi
fmul dword [esp + 0x18]
fmul dword [esp + 0x10]
fsub dword [0x5c4d08]
fcom dword [0x552458]
fnstsw ax
test ah, 5
jp 0x4f80d3
mov ecx, dword [esp + 0xe4]
pop esi
pop ebp
pop ebx
fstp st(0)
mov dword [ecx + 0x20], 0
add esp, 0xd4
ret 4
fcom dword [esp + 0x10]
fnstsw ax
and eax, 0x4100
jne 0x4f80fc
mov eax, dword [esp + 0xe4]
mov edx, dword [esp + 0x10]
pop esi
pop ebp
fstp st(0)
mov dword [eax + 0x20], edx
pop ebx
add esp, 0xd4
ret 4
mov ecx, dword [esp + 0xe4]
fstp dword [ecx + 0x20]
pop esi
pop ebp
pop ebx
add esp, 0xd4
ret 4