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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0xe8
cmp byte [0x70489d], 0
jne 0x4c861a
mov byte [0x70489d], 1
cmp byte [0x7048ac], 0
jne 0x4c862a
mov byte [0x7048ac], 1
mov edx, dword [0x7e4e98]
lea edi, [esp + 0x2c]
mov ecx, 0x1b
lea eax, [edx + 0x68]
mov esi, 0x7048bc
fld dword [edx + 0x84]
fstp dword [esp + 0xc]
rep movsd dword es:[edi], dword [esi]
fld dword [eax]
fchs
fmul dword [esp + 0xc]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x4c], ebp
fstp dword [esp + 0x38]
fld dword [eax + 4]
fmul dword [esp + 0xc]
mov edi, dword [esp + 0xc]
mov dword [esp + 0x58], edi
fstp dword [esp + 0x3c]
fld dword [eax]
fmul dword [esp + 0xc]
fstp dword [esp + 0x44]
fld dword [eax + 4]
fmul dword [esp + 0xc]
fstp dword [esp + 0x48]
fld dword [eax]
fmul dword [esp + 0xc]
fstp dword [esp + 0x50]
fld dword [eax + 4]
fchs
fmul dword [esp + 0xc]
fstp dword [esp + 0x54]
fld dword [eax]
fchs
fmul dword [esp + 0xc]
fstp dword [esp + 0x5c]
fld dword [eax + 4]
fchs
fmul dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x64], eax
fstp dword [esp + 0x60]
mov esi, dword [edx + 4]
mov dword [0x974b68], 0
add esi, 0x10
call fcn.005814e0
cmp word [0xa10996], 0xffff
jae 0x4c86f1
inc word [0xa10996]
jmp 0x4c86ff
call fcn.004d7480
mov word [0xa10996], 1
mov ebx, 0x7e46c0
mov eax, ebx
fldz
fldz
fldz
fld dword [eax + 8]
fsub dword [0x7048a8]
fstp st(1)
fld dword [eax + 4]
fsub dword [0x7048a4]
fstp st(2)
fld dword [eax]
fsub dword [0x7048a0]
fstp st(3)
fld st(1)
fstp st(2)
fld st(1)
fmul st(0)
fld st(3)
fmul st(0)
faddp st(1)
fld st(1)
fstp st(4)
fld st(3)
fmul st(0)
faddp st(1)
fstp st(3)
fld st(2)
fcomp dword [0x690258]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4c8791
mov ecx, 0x7e46a0
fld dword [ecx + 4]
fmul dword [0x7048b4]
fld dword [ecx]
fmul dword [0x7048b0]
faddp st(1)
fld dword [ecx + 8]
fmul dword [0x7048b8]
faddp st(1)
fcomp dword [0x69025c]
fnstsw ax
test ah, 0x45
jne 0x4c8791
mov byte [0x70489c], 1
jmp 0x4c8798
mov byte [0x70489c], 0
fld dword [ebx]
fstp dword [0x7048a0]
fld dword [ebx + 4]
mov eax, 0x7e46a0
fstp dword [0x7048a4]
fld dword [ebx + 8]
fstp dword [0x7048a8]
fld dword [eax]
fstp dword [0x7048b0]
fld dword [eax + 4]
fstp dword [0x7048b4]
fld dword [eax + 8]
fstp dword [0x7048b8]
fld dword [esi + 0x28]
fcomp dword [0x690224]
fnstsw ax
test ah, 4
jne 0x4c88c4
and ah, 0x45
test ah, 0x41
je 0x4c88c4
fld dword [esp + 0x38]
lea eax, [esp + 0xb8]
fstp dword [eax]
fld dword [esp + 0x3c]
lea ebp, [esp + 0xb8]
fstp dword [ebp + 4]
fld dword [esp + 0x40]
lea eax, [esp + 0xb8]
fstp dword [eax + 8]
fld dword [0x690228]
fdiv dword [esp + 0xc]
lea eax, [esp + 0xc4]
fstp st(3)
fld dword [0x69022c]
fmul dword [esp + 0xb8]
fmul st(3)
fstp st(2)
fld st(1)
fstp dword [esp + 0x68]
fld dword [0x69022c]
fmul dword [esp + 0xbc]
fmul st(3)
fstp dword [esp + 0x6c]
fld dword [0x69022c]
fmul dword [esp + 0xc0]
fmul st(3)
fstp dword [esp + 0x70]
fld dword [esp + 0x44]
fstp dword [eax]
fld dword [esp + 0x48]
lea ecx, [esp + 0xc4]
fstp dword [ecx + 4]
fld dword [esp + 0x4c]
lea eax, [esp + 0xc4]
fstp dword [eax + 8]
fld dword [0x69022c]
fmul dword [esp + 0xc4]
fmul st(3)
fstp dword [esp + 0x74]
fld dword [0x69022c]
fmul dword [esp + 0xc8]
fmul st(3)
fstp dword [esp + 0x78]
fld dword [0x69022c]
fmul dword [esp + 0xcc]
jmp 0x4c8992
fld dword [esp + 0x5c]
lea eax, [esp + 0xd0]
fstp dword [eax]
fld dword [esp + 0x60]
lea edx, [esp + 0xd0]
fstp dword [edx + 4]
fld dword [esp + 0x64]
lea eax, [esp + 0xd0]
fstp dword [eax + 8]
fld dword [0x690228]
fdiv dword [esp + 0xc]
lea eax, [esp + 0xdc]
fstp st(3)
fld dword [0x69022c]
fmul dword [esp + 0xd0]
fmul st(3)
fstp st(2)
fld st(1)
fstp dword [esp + 0x68]
fld dword [0x69022c]
fmul dword [esp + 0xd4]
fmul st(3)
fstp dword [esp + 0x6c]
fld dword [0x69022c]
fmul dword [esp + 0xd8]
fmul st(3)
fstp dword [esp + 0x70]
fld dword [esp + 0x50]
fstp dword [eax]
fld dword [esp + 0x54]
lea edi, [esp + 0xdc]
fstp dword [edi + 4]
fld dword [esp + 0x58]
lea eax, [esp + 0xdc]
fstp dword [eax + 8]
fld dword [0x69022c]
fmul dword [esp + 0xdc]
fmul st(3)
fstp dword [esp + 0x74]
fld dword [0x69022c]
fmul dword [esp + 0xe0]
fmul st(3)
fstp dword [esp + 0x78]
fld dword [0x69022c]
fmul dword [esp + 0xe4]
fmul st(3)
fstp dword [esp + 0x7c]
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x70]
fld dword [esp + 0x80]
fmul dword [0x690260]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x84], ebx
fstp dword [esp + 0x80]
fld dword [esp + 0x8c]
fmul dword [0x690260]
mov ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], eax
fstp dword [esp + 0x8c]
fld dword [esp + 0x84]
fmul dword [0x690260]
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x2c]
push esi
fstp dword [esp + 0x88]
fld dword [esp + 0x94]
fmul dword [0x690260]
push 9
push ecx
push eax
fstp dword [esp + 0xa0]
fcompp
fstp st(0)
call fcn.006471b0
movzx eax, byte [0x7e4706]
add esp, 0x10
mov byte [0xa10b49], 0
imul eax, eax, 0x73
movsx edx, word [eax*4 + 0x7e4824]
cmp edx, 1
je 0x4c8c80
cmp edx, 0x25
je 0x4c8c80
fld dword [esp + 0xc]
fcomp dword [0x69022c]
fnstsw ax
test ah, 0x45
jne 0x4c8bb0
fld dword [esp + 0x2c]
fmul dword [0x690230]
push 0x4c7580
push 3
fadd dword [0x690234]
fstp dword [esp + 0xa0]
fld dword [esp + 0x38]
fmul dword [0x690230]
lea eax, [esp + 0xa0]
push eax
fadd dword [0x690238]
fstp dword [esp + 0xa8]
fld dword [esp + 0x8c]
fmul dword [0x690230]
fadd dword [0x690234]
fstp dword [esp + 0xac]
fld dword [esp + 0x90]
fmul dword [0x690230]
fadd dword [0x690238]
fstp dword [esp + 0xb0]
fld dword [esp + 0x98]
fmul dword [0x690230]
fadd dword [0x690234]
fstp dword [esp + 0xb4]
fld dword [esp + 0x9c]
fmul dword [0x690230]
fadd dword [0x690238]
fstp dword [esp + 0xb8]
call fcn.004c9000
fld dword [esp + 0x38]
fmul dword [0x690230]
add esp, 0xc
fadd dword [0x690234]
fstp dword [esp + 0x98]
fld dword [esp + 0x30]
fmul dword [0x690230]
fadd dword [0x690238]
fstp dword [esp + 0x9c]
fld dword [esp + 0x68]
fmul dword [0x690230]
fadd dword [0x690234]
fstp dword [esp + 0xa0]
fld dword [esp + 0x6c]
fmul dword [0x690230]
fadd dword [0x690238]
fstp dword [esp + 0xa4]
fld dword [esp + 0x74]
fmul dword [0x690230]
fadd dword [0x690234]
fstp dword [esp + 0xa8]
fld dword [esp + 0x78]
jmp 0x4c8c27
fld dword [esp + 0x2c]
fmul dword [0x690230]
fadd dword [0x690234]
fstp dword [esp + 0x98]
fld dword [esp + 0x30]
fmul dword [0x690230]
fadd dword [0x690238]
fstp dword [esp + 0x9c]
fld dword [esp + 0x38]
fmul dword [0x690230]
fadd dword [0x690234]
fstp dword [esp + 0xa0]
fld dword [esp + 0x3c]
fmul dword [0x690230]
fadd dword [0x690238]
fstp dword [esp + 0xa4]
fld dword [esp + 0x44]
fmul dword [0x690230]
fadd dword [0x690234]
fstp dword [esp + 0xa8]
fld dword [esp + 0x48]
fmul dword [0x690230]
lea eax, [esp + 0x98]
push fcn.004c7760
fadd dword [0x690238]
push 3
push eax
fstp dword [esp + 0xb8]
call fcn.004c9000
add esp, 0xc
mov eax, dword [0xa0d9b4]
lea eax, [eax*4]
add eax, 0x978604
push eax
call fcn.004c8560
pop ecx
push 0x978604
call fcn.004c8560
pop ecx
jmp 0x4c8f73
fld dword [0x69023c]
fstp dword [esp + 0x10]
fld dword [0x69023c]
fstp dword [esp + 0x14]
fld dword [0x690240]
lea edi, [esp + 0x38]
lea eax, [esp + 0x2c]
fstp dword [esp + 0x18]
fld dword [0x690240]
fstp dword [esp + 0x1c]
push dword [0x690244]
push eax
push edi
call fcn.004c8f90
fld dword [edi]
fld dword [edi + 4]
fld st(1)
fcomp dword [0x69023c]
fnstsw ax
add esp, 0xc
and ah, 5
cmp ah, 1
jne 0x4c8cdd
fld st(1)
fstp dword [esp + 0x10]
fld st(1)
fcomp dword [0x690240]
fnstsw ax
test ah, 0x45
jne 0x4c8cf2
fld st(1)
fstp dword [esp + 0x18]
fcom dword [0x69023c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4c8d06
fst dword [esp + 0x14]
fcom dword [0x690240]
fnstsw ax
test ah, 0x45
jne 0x4c8d17
fst dword [esp + 0x1c]
fcompp
lea ebx, [esp + 0x44]
lea eax, [esp + 0x2c]
push dword [0x690244]
push eax
push ebx
call fcn.004c8f90
fld dword [ebx]
fld dword [ebx + 4]
fld st(1)
fcomp dword [esp + 0x1c]
fnstsw ax
add esp, 0xc
and ah, 5
cmp ah, 1
jne 0x4c8d4c
fld st(1)
fstp dword [esp + 0x10]
fld st(1)
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x45
jne 0x4c8d5f
fld st(1)
fstp dword [esp + 0x18]
fcom dword [esp + 0x14]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4c8d71
fst dword [esp + 0x14]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x45
jne 0x4c8d80
fst dword [esp + 0x1c]
fcompp
lea esi, [esp + 0x50]
lea eax, [esp + 0x2c]
push dword [0x690244]
push eax
push esi
call fcn.004c8f90
fld dword [esi]
fld dword [esi + 4]
fld st(1)
fcomp dword [esp + 0x1c]
fnstsw ax
add esp, 0xc
and ah, 5
cmp ah, 1
jne 0x4c8db5
fld st(1)
fstp dword [esp + 0x10]
fld st(1)
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x45
jne 0x4c8dc8
fld st(1)
fstp dword [esp + 0x18]
fcom dword [esp + 0x14]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4c8dda
fst dword [esp + 0x14]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x45
jne 0x4c8de9
fst dword [esp + 0x1c]
fcompp
lea edi, [esp + 0x5c]
lea eax, [esp + 0x2c]
push dword [0x690244]
push eax
push edi
call fcn.004c8f90
fld dword [edi]
fld dword [edi + 4]
fld st(1)
fcomp dword [esp + 0x1c]
fnstsw ax
add esp, 0xc
and ah, 5
cmp ah, 1
jne 0x4c8e1e
fld st(1)
fstp dword [esp + 0x10]
fld st(1)
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x45
jne 0x4c8e31
fld st(1)
fstp dword [esp + 0x18]
fcom dword [esp + 0x14]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4c8e43
fst dword [esp + 0x14]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x45
jne 0x4c8e52
fst dword [esp + 0x1c]
fld dword [esp + 0x10]
fmul dword [0x690230]
fadd dword [0x690234]
fnstcw word [esp + 8]
mov eax, dword [esp + 8]
or byte [esp + 9], 0xc
fldcw word [esp + 8]
mov dword [esp + 8], eax
fistp dword [esp + 0x20]
fldcw word [esp + 8]
mov esi, dword [esp + 0x20]
test esi, esi
jg 0x4c8e89
xor esi, esi
fld dword [esp + 0x18]
fmul dword [0x690230]
fadd dword [0x690234]
fnstcw word [esp + 8]
mov eax, dword [esp + 8]
or byte [esp + 9], 0xc
fldcw word [esp + 8]
mov dword [esp + 8], eax
fistp dword [esp + 0x20]
fldcw word [esp + 8]
mov eax, dword [esp + 0x20]
cmp eax, 0x4f
mov dword [esp + 4], eax
jl 0x4c8ecb
mov dword [esp + 4], 0x4f
fld dword [esp + 0x14]
fmul dword [0x690230]
fadd dword [0x690238]
fnstcw word [esp + 8]
mov eax, dword [esp + 8]
or byte [esp + 9], 0xc
fldcw word [esp + 8]
mov dword [esp + 8], eax
fistp dword [esp + 0x20]
fldcw word [esp + 8]
mov eax, dword [esp + 0x20]
test eax, eax
mov dword [esp], eax
jg 0x4c8f0a
mov dword [esp], 0
fld dword [esp + 0x1c]
fmul dword [0x690230]
fadd dword [0x690238]
fnstcw word [esp + 8]
mov eax, dword [esp + 8]
or byte [esp + 9], 0xc
fldcw word [esp + 8]
mov dword [esp + 8], eax
fistp dword [esp + 0x20]
fldcw word [esp + 8]
mov edi, dword [esp + 0x20]
cmp edi, 0x4f
jl 0x4c8f80
mov edi, 0x4f
jmp 0x4c8f80
mov ebx, dword [esp]
mov ebp, ebx
imul ebp, ebp, 0x50
add ebp, esi
jmp 0x4c8f68
mov eax, ebp
imul eax, eax, 0x28
add eax, 0x792d38
push eax
call fcn.004c7760
add ebp, 0x50
pop ecx
inc ebx
cmp ebx, edi
jbe 0x4c8f53
inc esi
cmp esi, dword [esp + 4]
jbe 0x4c8f47
add esp, 0xe8
pop ebp
pop edi
pop esi
pop ebx
ret
fcompp
jmp 0x4c8f6d