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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0xe8
cmp byte [0x70489d], 0
jne 0x4c85fa
mov byte [0x70489d], 1
cmp byte [0x7048ac], 0
jne 0x4c860a
mov byte [0x7048ac], 1
mov edx, dword [0x7e4e90]
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 [0x974b60], 0
add esi, 0x10
call fcn.005814c0
cmp word [0xa1098e], 0xffff
jae 0x4c86d1
inc word [0xa1098e]
jmp 0x4c86df
call fcn.004d7460
mov word [0xa1098e], 1
mov ebx, 0x7e46b8
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 0x4c8771
mov ecx, 0x7e4698
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 0x4c8771
mov byte [0x70489c], 1
jmp 0x4c8778
mov byte [0x70489c], 0
fld dword [ebx]
fstp dword [0x7048a0]
fld dword [ebx + 4]
mov eax, 0x7e4698
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 0x4c88a4
and ah, 0x45
test ah, 0x41
je 0x4c88a4
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 0x4c8972
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.00647160
movzx eax, byte [0x7e46fe]
add esp, 0x10
mov byte [0xa10b41], 0
imul eax, eax, 0x73
movsx edx, word [eax*4 + 0x7e481c]
cmp edx, 1
je 0x4c8c60
cmp edx, 0x25
je 0x4c8c60
fld dword [esp + 0xc]
fcomp dword [0x69022c]
fnstsw ax
test ah, 0x45
jne 0x4c8b90
fld dword [esp + 0x2c]
fmul dword [0x690230]
push 0x4c7560
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.004c8fe0
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 0x4c8c07
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.004c7740
fadd dword [0x690238]
push 3
push eax
fstp dword [esp + 0xb8]
call fcn.004c8fe0
add esp, 0xc
mov eax, dword [0xa0d9ac]
lea eax, [eax*4]
add eax, 0x9785fc
push eax
call fcn.004c8540
pop ecx
push 0x9785fc
call fcn.004c8540
pop ecx
jmp 0x4c8f53
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.004c8f70
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 0x4c8cbd
fld st(1)
fstp dword [esp + 0x10]
fld st(1)
fcomp dword [0x690240]
fnstsw ax
test ah, 0x45
jne 0x4c8cd2
fld st(1)
fstp dword [esp + 0x18]
fcom dword [0x69023c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4c8ce6
fst dword [esp + 0x14]
fcom dword [0x690240]
fnstsw ax
test ah, 0x45
jne 0x4c8cf7
fst dword [esp + 0x1c]
fcompp
lea ebx, [esp + 0x44]
lea eax, [esp + 0x2c]
push dword [0x690244]
push eax
push ebx
call fcn.004c8f70
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 0x4c8d2c
fld st(1)
fstp dword [esp + 0x10]
fld st(1)
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x45
jne 0x4c8d3f
fld st(1)
fstp dword [esp + 0x18]
fcom dword [esp + 0x14]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4c8d51
fst dword [esp + 0x14]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x45
jne 0x4c8d60
fst dword [esp + 0x1c]
fcompp
lea esi, [esp + 0x50]
lea eax, [esp + 0x2c]
push dword [0x690244]
push eax
push esi
call fcn.004c8f70
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 0x4c8d95
fld st(1)
fstp dword [esp + 0x10]
fld st(1)
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x45
jne 0x4c8da8
fld st(1)
fstp dword [esp + 0x18]
fcom dword [esp + 0x14]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4c8dba
fst dword [esp + 0x14]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x45
jne 0x4c8dc9
fst dword [esp + 0x1c]
fcompp
lea edi, [esp + 0x5c]
lea eax, [esp + 0x2c]
push dword [0x690244]
push eax
push edi
call fcn.004c8f70
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 0x4c8dfe
fld st(1)
fstp dword [esp + 0x10]
fld st(1)
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x45
jne 0x4c8e11
fld st(1)
fstp dword [esp + 0x18]
fcom dword [esp + 0x14]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4c8e23
fst dword [esp + 0x14]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x45
jne 0x4c8e32
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 0x4c8e69
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 0x4c8eab
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 0x4c8eea
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 0x4c8f60
mov edi, 0x4f
jmp 0x4c8f60
mov ebx, dword [esp]
mov ebp, ebx
imul ebp, ebp, 0x50
add ebp, esi
jmp 0x4c8f48
mov eax, ebp
imul eax, eax, 0x28
add eax, 0x792d30
push eax
call fcn.004c7740
add ebp, 0x50
pop ecx
inc ebx
cmp ebx, edi
jbe 0x4c8f33
inc esi
cmp esi, dword [esp + 4]
jbe 0x4c8f27
add esp, 0xe8
pop ebp
pop edi
pop esi
pop ebx
ret
fcompp
jmp 0x4c8f4d