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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb4
push ebx
mov ebx, eax
mov eax, dword [ebx + 0xdc0]
mov ecx, dword [ebx + 0x4054]
push esi
mov esi, dword [ebx + 0x3e30]
fld qword [esi + eax*8 + 0x138]
mov dword [esp + 0x40], eax
fstp qword [esp + 0x6c]
push edi
fld qword [esi + eax*8 + 0x160]
mov eax, dword [ebx + 0x4050]
add eax, dword [ebx + 0x4048]
fstp qword [esp + 0x68]
push 0
adc ecx, dword [ebx + 0x404c]
add eax, dword [ebx + 0x4040]
push 8
adc ecx, dword [ebx + 0x4044]
mov dword [esp + 0x50], esi
push ecx
push eax
call fcn.004a3f90
cmp dword [esi + 4], 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov eax, esi
je 0x4c84ba
mov esi, dword [eax + 0x40]
mov ecx, 0x12
lea edi, [esp + 0x78]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x78]
cmp dword [esp + 0x44], ecx
je 0x4c84ba
movsx edx, byte [ecx + 0x57dbc0]
mov eax, dword [esp + 0x44]
movsx ecx, byte [eax + 0x57dbc0]
push edx
push ecx
push 0x57e298
push 0
push ebx
call fcn.004c44b0
mov eax, dword [esp + 0x5c]
add esp, 0x14
mov edx, 1
cmp dword [esp + 0x44], edx
jne 0x4c8679
mov ecx, dword [ebx + 0x1900]
mov eax, dword [ecx + 4]
cmp eax, 2
je 0x4c84e3
cmp eax, edx
mov dword [esp + 0x58], 0
jne 0x4c84e7
mov dword [esp + 0x58], edx
mov edi, dword [ebx + 0x1950]
mov eax, dword [edi + 4]
cmp eax, 2
mov dword [esp + 0x50], eax
je 0x4c8505
cmp eax, edx
mov dword [esp + 0x4c], 0
jne 0x4c8509
mov dword [esp + 0x4c], edx
mov eax, dword [ebx + 0x18f4]
mov esi, dword [eax]
mov eax, esi
sub eax, dword [ecx]
cdq
mov ecx, eax
xor ecx, edx
mov eax, esi
sub eax, dword [edi]
mov esi, dword [esp + 0x48]
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebx + 0x1900]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x38], eax
fld dword [edx + 0x24]
fstp dword [esp + 0x34]
fld dword [edi + 0x24]
mov edi, 4
cmp dword [edx + 4], edi
fstp dword [esp + 0x44]
fld qword [0x5a3860]
jne 0x4c8567
fld dword [esp + 0x34]
fld qword [esi + 0xd0]
fmul st(2)
fsubp st(1)
fstp dword [esp + 0x34]
cmp dword [esp + 0x50], edi
jne 0x4c857f
fld dword [esp + 0x44]
fld qword [esi + 0xd0]
fmul st(2)
fsubp st(1)
fstp dword [esp + 0x44]
cmp dword [esp + 0x58], 0
je 0x4c85a5
cmp dword [esp + 0x4c], 0
je 0x4c859f
fld dword [esp + 0x44]
fadd dword [esp + 0x34]
fmul st(1)
fadd qword [esi + 0xc8]
jmp 0x4c85ce
fld dword [esp + 0x44]
jmp 0x4c85ce
cmp dword [esp + 0x4c], 0
je 0x4c85b2
fld dword [esp + 0x34]
jmp 0x4c85ce
fild dword [esp + 0x60]
add eax, ecx
fmul dword [esp + 0x44]
fild dword [esp + 0x38]
mov dword [esp + 0x38], eax
fmul dword [esp + 0x34]
faddp st(1)
fidiv dword [esp + 0x38]
mov eax, dword [ebx + 0x18f4]
fstp dword [esp + 0x34]
cmp dword [eax + 0x20], 0
je 0x4c85ea
fmul qword [esi + 0xd0]
fadd dword [esp + 0x34]
jmp 0x4c85f6
fstp st(0)
fld dword [esp + 0x34]
fadd qword [esi + 0xd0]
mov edx, dword [ebx + 0x194c]
fstp dword [esp + 0x34]
mov ecx, dword [ebx + edx*4 + 0x194c]
fild dword [ecx + 0xcbc]
mov eax, dword [esi + 0x220]
fmul qword [eax]
fld dword [esp + 0x34]
fld st(0)
fmul qword [eax + 8]
fdivp st(2)
fxch st(1)
fst qword [esi + 0x198]
call fcn.004a3ee0
mov edx, dword [ebx + 0x3e30]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fstp qword [edx + 0x190]
mov dword [esi + 0x84], 0
fsub qword [0x5a3938]
fdiv qword [0x57ae78]
fld qword [0x5a3950]
fxch st(1)
call fcn.00567b80
fmul qword [0x577fb0]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [eax + 4], 0
fld qword [eax + 0x20]
fld qword [0x5a3950]
fmul st(1), st(0)
fxch st(1)
fmul qword [eax + 0x18]
fst qword [esp + 0x60]
je 0x4c8a11
mov ecx, dword [esp + 0x58]
mov eax, dword [eax + 8]
test eax, eax
mov esi, dword [ebx + 4]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x60], eax
je 0x4c8772
cmp esi, edx
jle 0x4c87b1
mov edx, dword [ebx + 0x22c]
mov ecx, dword [ebx + 0x3e30]
sub ecx, dword [edx + 0x3e30]
mov eax, 0xe6c2b449
imul ecx
add edx, ecx
sar edx, 9
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp esi, 1
mov dword [esp + 0x4c], 1
jle 0x4c87b1
mov ecx, dword [esp + 0x4c]
lea eax, [ecx + edi]
cdq
idiv esi
mov edx, dword [ebx + edx*4 + 0x22c]
cmp dword [edx + 0x430], 0
mov eax, dword [edx + 0x3e30]
fld qword [eax + 0x198]
je 0x4c8763
fld qword [eax + 0x190]
call fcn.004a3ee0
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x4c874e
fstp st(1)
call fcn.004a3f16
add dword [esp + 0x50], eax
mov ecx, dword [esp + 0x4c]
adc dword [esp + 0x54], edx
jmp 0x4c8765
fstp st(0)
call fcn.004a3f16
add dword [esp + 0x50], eax
mov ecx, dword [esp + 0x4c]
adc dword [esp + 0x54], edx
jmp 0x4c8765
fstp st(0)
add ecx, 1
cmp ecx, esi
mov dword [esp + 0x4c], ecx
jl 0x4c86fb
jmp 0x4c87b1
mov eax, dword [ebx + 0x18f4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x4c], eax
cmp eax, esi
mov eax, dword [esp + 0x48]
jge 0x4c878d
fild dword [esp + 0x4c]
jmp 0x4c8798
lea ecx, [esi - 1]
mov dword [esp + 0x38], ecx
fild dword [esp + 0x38]
fmul qword [eax + 0x18]
fdiv qword [eax + 0x10]
fild qword [esp + 0x58]
faddp st(1)
call fcn.004a3f16
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x54]
sbb ecx, dword [esp + 0x94]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
fild qword [esp + 0x38]
fsubr st(1)
fdivrp st(1)
fld qword [0x5a3860]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4c886c
fstp st(1)
fstp st(1)
fdivr dword [esp + 0xa0]
mov edx, dword [ebx + 0x18f4]
mov eax, dword [edx + 0x18]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x4c], eax
sub eax, esi
add eax, 1
mov dword [esp + 0x38], eax
fstp dword [esp + 0x34]
fild dword [esp + 0x38]
fcomp qword [edi + 0x10]
fnstsw ax
fldz
test ah, 1
fld1
jne 0x4c8891
fxch st(1)
fcom qword [edi + 0x98]
fnstsw ax
test ah, 5
jp 0x4c8895
fild dword [esp + 0x4c]
fidiv dword [edi + 0xe0]
fmul qword [0x57b388]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4c8882
fstp st(0)
fstp st(1)
fild qword [esp + 0x58]
fdiv qword [edi + 0x98]
fxch st(1)
call fcn.00567b80
fmul dword [esp + 0x34]
fstp dword [esp + 0x34]
jmp 0x4c8899
fstp st(0)
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4c87ec
fstp st(0)
jmp 0x4c87ee
fstp st(1)
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4c884f
fstp st(0)
jmp 0x4c8851
fstp st(1)
jmp 0x4c8897
fstp st(0)
fstp st(0)
cmp dword [esp + 0x60], 0
je 0x4c89dc
fld qword [edi + 0x78]
sub esp, 8
fadd qword [edi + 0x70]
lea esi, [esp + 0x80]
fstp qword [esp + 0x68]
fld dword [esp + 0x3c]
fstp qword [esp]
call fcn.004c6ef0
fsubr qword [esp + 0x68]
add esp, 8
fld qword [esp + 0x98]
fld st(0)
fdiv qword [edi + 0x60]
fld qword [0x5a3950]
fsub st(1)
fld dword [esp + 0x34]
fld st(0)
fmulp st(2)
fxch st(1)
fst qword [esp + 0x38]
fld st(2)
fadd qword [0x577fa0]
fld dword [esp + 0xa0]
fcom st(2)
fnstsw ax
test ah, 5
jnp 0x4c892e
fstp st(2)
fxch st(1)
fst qword [esp + 0x38]
fxch st(1)
fld qword [0x57e290]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x4c8932
fstp st(0)
fld qword [esp + 0x68]
fld st(0)
fst qword [esp + 0x38]
jmp 0x4c8938
fstp st(0)
jmp 0x4c890f
fld qword [esp + 0x68]
fxch st(1)
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x4c8949
fstp st(0)
fld st(0)
fst qword [esp + 0x38]
fxch st(4)
fdivrp st(3)
fxch st(2)
fstp qword [esp + 0x50]
jmp 0x4c8957
fxch st(1)
fld qword [esp + 0x50]
fcomp st(4)
fnstsw ax
test ah, 0x41
jne 0x4c89a8
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 5
jp 0x4c89aa
fstp st(0)
fstp st(1)
fmul qword [0x57e288]
sub esp, 8
lea esi, [esp + 0x80]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp qword [esp]
call fcn.004c6ef0
fsubr qword [esp + 0x68]
add esp, 8
fld qword [esp + 0x38]
fld dword [esp + 0x34]
fld qword [esp + 0x68]
jmp 0x4c8955
fstp st(2)
fldz
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x4c89c4
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x4c89c6
jmp 0x4c8973
fstp st(1)
push ebx
fstp st(0)
push 0x4eab60
call fcn.004ed290
add esp, 8
mov dword [edi + 0x84], eax
fld dword [esp + 0x34]
fld qword [esp + 0x70]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4c89f4
fstp st(1)
jmp 0x4c8cbd
fstp st(0)
fld qword [esp + 0x68]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4c8a0a
fstp st(1)
jmp 0x4c8cbd
fstp st(0)
jmp 0x4c8cbd
fstp st(0)
push ebx
fstp st(0)
push 0x4eab60
fld1
fstp qword [esp + 0x70]
call fcn.004ed290
mov ecx, dword [esp + 0x50]
fld qword [ecx + 0xb0]
mov dword [esp + 0x40], eax
fld qword [0x5a3860]
mov edx, dword [ecx + 0x28]
fmul st(1), st(0)
mov dword [ecx + 0x84], eax
fild dword [esp + 0x40]
mov dword [esp + 0x90], eax
xor eax, eax
add esp, 8
faddp st(2)
mov dword [esp + 0x84], eax
fxch st(1)
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb0], eax
fst qword [ecx + 0xb0]
mov eax, dword [esp + 0x44]
fld qword [ecx + 0xb8]
mov dword [esp + 0xac], edx
fmulp st(2)
sub esp, 8
fxch st(1)
mov dword [esp + 0x80], eax
lea eax, [esp + 0x80]
fadd qword [0x577fa0]
fst qword [ecx + 0xb8]
cmp dword [ebx + 0x1bc], 1
fdivp st(1)
mov edx, dword [ebx + 0x18f4]
mov edx, dword [edx + 0x18]
fstp dword [esp + 0xbc]
fld1
fstp dword [esp + 0x88]
jne 0x4c8b31
fld qword [ecx + 0xc0]
fstp qword [esp]
push eax
call fcn.004c7ba0
fstp dword [esp + 0x40]
mov edi, dword [esp + 0x54]
add esp, 0xc
fld qword [esp + 0x68]
mov esi, dword [esp + 0x44]
cmp esi, 2
jne 0x4c8bf1
cmp dword [ebx + 0x50], 1
jle 0x4c8bf1
cmp dword [edi + 0x118], esi
je 0x4c8bf1
fstp st(0)
sub esp, 8
fld qword [edi + 0x120]
fdiv qword [edi + 0x128]
fstp qword [esp]
call fcn.004c6ec0
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
jmp 0x4c8c92
fld qword [ecx + 0xa0]
mov esi, edx
fdiv qword [ecx + 0x90]
sub esi, dword [ebx + 4]
add esi, 1
mov dword [esp + 0x40], esi
fstp qword [esp]
push eax
call fcn.004c7ba0
fstp dword [esp + 0x40]
fild dword [esp + 0x44]
mov edi, dword [esp + 0x54]
add esp, 0xc
fmul qword [edi + 0x18]
fdiv qword [edi + 0x10]
fst qword [esp + 0x70]
fldz
fcompp
fnstsw ax
test ah, 5
jp 0x4c8ae4
mov eax, 0x51eb851f
imul esi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x38], ecx
fild dword [esp + 0x38]
call fcn.005684c0
fld1
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4c8ba9
fstp st(1)
fld st(0)
jmp 0x4c8bab
fxch st(1)
fld qword [0x5a3950]
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [0x5a3860]
fstp qword [esp + 8]
fild qword [esp + 0x70]
fsub qword [esp + 0x88]
fxch st(1)
fmul qword [esp + 0x78]
fdivp st(1)
faddp st(1)
fstp qword [esp]
call fcn.004c6e90
fld dword [esp + 0x4c]
add esp, 0x18
fmul st(1)
fstp dword [esp + 0x34]
jmp 0x4c8ae8
mov ecx, dword [ebx + 0x4e0]
test ecx, ecx
jle 0x4c8c76
fld qword [edi + esi*8 + 0xf0]
fdiv qword [edi + 0x188]
fld qword [edi + 0x188]
fmul qword [edi + esi*8 + 0xf0]
fld qword [0x57e0b0]
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x4c8c35
cmp ecx, 3
jle 0x4c8c35
fstp st(2)
fld qword [edi + 0x188]
fmulp st(2)
jmp 0x4c8c4c
fld qword [0x57e280]
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x4c8c4c
fdiv qword [edi + 0x188]
fld dword [esp + 0x34]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4c8c63
fstp st(0)
fstp st(1)
fstp dword [esp + 0x34]
jmp 0x4c8ca3
fstp st(1)
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4c8c5b
fstp st(0)
fstp dword [esp + 0x34]
jmp 0x4c8ca3
cmp dword [ebx + 0x1bc], 1
fstp st(0)
jne 0x4c8ca3
fld dword [ebx + 0x1d4]
sub esp, 8
fstp qword [esp]
call fcn.004c6ec0
fld dword [ebx + 0x1e8]
add esp, 8
fabs
fdivp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
sub esp, 8
mov eax, esi
fstp qword [esp]
mov esi, ebx
call fcn.004c8120
mov edi, dword [esp + 0x50]
add esp, 8
mov edx, dword [esp + 0x44]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fld st(0)
fst qword [edi + 0xe8]
fstp qword [edi + edx*8 + 0xf0]
mov eax, dword [edi + 4]
test eax, eax
je 0x4c8ce5
cmp dword [edi + 8], 0
je 0x4c8cf7
mov ecx, dword [ebx + 0x18f4]
cmp dword [ecx + 0x18], 0
jne 0x4c8cf7
fst qword [edi + 0xf0]
test eax, eax
je 0x4c8d22
cmp dword [edi + 8], 0
je 0x4c8d22
sub esp, 8
lea esi, [esp + 0x80]
fstp qword [esp]
call fcn.004c6ef0
fstp qword [edi + 0x198]
fld dword [esp + 0x3c]
add esp, 8
jmp 0x4c8d4a
mov eax, dword [ebx + 0xdc0]
fild dword [edi + 0x84]
lea edx, [eax + eax*2]
mov eax, dword [edi + 0x80]
fmul qword [eax + edx*8]
lea eax, [eax + edx*8]
fld st(1)
fmul qword [eax + 8]
fdivp st(1)
fstp qword [edi + 0x198]
fld qword [edi + 0x198]
call fcn.004a3ee0
mov ecx, dword [ebx + 0x3e30]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
pop edi
pop esi
pop ebx
fstp qword [ecx + 0x190]
mov esp, ebp
pop ebp
ret