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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
fld qword [ebp + 8]
fmul qword [ebp + 8]
mov edx, dword [ebp + 0x14]
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
mov ecx, 1
fst qword [esp + 0x68]
xor ebx, ebx
cmp edi, ecx
mov dword [esp + 0x64], ebx
jle 0x1004cadc
lea esi, [edx + 0x28]
fld qword [edx + 8]
fld qword [edx]
fsub qword [esi - 0x10]
fxch st(1)
fsub qword [esi - 8]
fld qword [edx + 0x10]
fsub qword [esi]
fxch st(2)
fst qword [esp + 0x10]
fld st(1)
fxch st(1)
fmul qword [esp + 0x10]
fxch st(1)
fmul st(2)
fxch st(3)
fst qword [esp + 0x10]
fmul qword [esp + 0x10]
fxch st(3)
faddp st(1)
fxch st(2)
faddp st(2)
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 0x41
fstp st(0)
je 0x1004cadc
inc ecx
add esi, 0x18
cmp ecx, edi
jl 0x1004ca91
cmp ecx, edi
fstp st(0)
je 0x1004cffb
lea eax, [ecx + ecx*2]
mov dword [esp + 0x88], ecx
inc ecx
fld qword [edx + eax*8 + 8]
fld qword [edx + eax*8]
fsub qword [edx]
fxch st(1)
fsub qword [edx + 8]
lea eax, [edx + eax*8]
cmp ecx, edi
fld qword [eax + 0x10]
fsub qword [edx + 0x10]
fld st(2)
fld st(2)
fxch st(1)
fmul st(4)
fxch st(1)
fmul st(3)
fld st(2)
fmul st(3)
fxch st(1)
faddp st(2)
faddp st(1)
fsqrt
fdivr qword [0x10059ed8]
fld st(0)
fld st(1)
fxch st(1)
fmulp st(5)
fmul st(3)
fxch st(1)
fmul st(2)
fxch st(4)
fst qword [esp + 0x4c]
fxch st(4)
fxch st(1)
fstp qword [esp + 0x54]
fstp qword [esp + 0x5c]
fstp st(0)
fstp st(0)
jge 0x1004cbfa
lea eax, [ecx + ecx*2]
lea esi, [edx + eax*8 + 0x10]
jmp 0x1004cb5d
fstp st(0)
fld qword [esi - 8]
fld qword [esi - 0x10]
fsub qword [edx]
fxch st(1)
fsub qword [edx + 8]
fld qword [esi]
fsub qword [edx + 0x10]
fxch st(2)
fst qword [esp + 0x70]
fxch st(1)
fst qword [esp + 0x78]
fxch st(1)
fmul st(3)
fxch st(1)
fmul qword [esp + 0x54]
fld st(2)
fmul qword [esp + 0x5c]
fxch st(1)
faddp st(2)
faddp st(1)
fld st(0)
fld st(1)
fxch st(1)
fmul st(4)
fxch st(1)
fmul qword [esp + 0x54]
fxch st(1)
fsubr qword [esp + 0x70]
fxch st(2)
fmul qword [esp + 0x5c]
fxch st(1)
fsubr qword [esp + 0x78]
fxch st(2)
fstp qword [esp + 0x1c]
fsubr st(2)
fld qword [esp + 0x1c]
fxch st(2)
fst qword [esp + 0x24]
fxch st(2)
fmul qword [esp + 0x1c]
fxch st(1)
fxch st(2)
fxch st(1)
fxch st(1)
fmul qword [esp + 0x24]
fld st(2)
fmul st(3)
fxch st(1)
faddp st(2)
faddp st(1)
fcomp qword [esp + 0x68]
fnstsw ax
test ah, 0x41
fstp st(0)
je 0x1004cc01
inc ecx
add esi, 0x18
cmp ecx, edi
jl 0x1004cb5b
jmp 0x1004cc01
fld qword [esp + 0x80]
cmp ecx, edi
jne 0x1004cc61
mov eax, dword [ebp + 0x1c]
cmp eax, ebx
fstp st(0)
je 0x1004cc14
mov dword [eax], 1
mov eax, dword [ebp + 0x18]
cmp eax, ebx
je 0x1004cc4c
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
fstp qword [eax]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x60]
mov dword [eax + 0x10], ecx
mov dword [esp + 0x64], 1
mov dword [eax + 0x14], edx
mov eax, dword [esp + 0x64]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x64], 1
mov eax, dword [esp + 0x64]
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld qword [esp + 0x78]
fld st(1)
fld qword [esp + 0x70]
fxch st(2)
fmul qword [esp + 0x5c]
fld qword [esp + 0x70]
fxch st(2)
fmul qword [esp + 0x54]
fld qword [esp + 0x78]
fxch st(1)
fsubp st(2)
fxch st(4)
fmul st(5)
fxch st(1)
fst qword [esp + 0x34]
fmul qword [esp + 0x34]
fld qword [esp + 0x34]
fxch st(4)
fmul qword [esp + 0x5c]
mov esi, 1
mov dword [esp + 0x90], ecx
cmp edi, esi
fsubp st(2)
fxch st(2)
fmul qword [esp + 0x54]
fld qword [edx + 8]
fxch st(2)
fst qword [esp + 0x3c]
fxch st(5)
fmul qword [esp + 0x4c]
fsubp st(1)
fxch st(4)
fmul qword [esp + 0x3c]
fld qword [esp + 0x3c]
fxch st(5)
fst qword [esp + 0x44]
fxch st(1)
faddp st(3)
fmul qword [esp + 0x44]
fld qword [edx + 0x10]
fxch st(1)
faddp st(3)
fld qword [esp + 0x44]
fxch st(3)
fsqrt
fstp qword [esp + 0x10]
fxch st(3)
fmul qword [esp + 0x10]
fld qword [esp + 0x4c]
fxch st(1)
fstp st(6)
fxch st(1)
fmul qword [esp + 0x54]
fxch st(3)
fmul qword [esp + 0x5c]
fxch st(1)
fmul qword [edx]
fxch st(1)
faddp st(3)
fxch st(3)
fmul qword [esp + 0x10]
fxch st(1)
fmul qword [esp + 0x10]
fxch st(3)
faddp st(2)
fstp qword [esp + 0x3c]
fxch st(1)
fstp qword [esp + 0x44]
fstp qword [esp + 0x10]
jle 0x1004cdc6
lea ecx, [edx + 0x28]
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x1004cd72
fld qword [ecx - 8]
fld qword [ecx - 0x10]
fmul qword [esp + 0x4c]
fld qword [ecx]
fxch st(2)
fmul qword [esp + 0x54]
fxch st(2)
fmul qword [esp + 0x5c]
fxch st(2)
faddp st(1)
fxch st(1)
faddp st(1)
fcom qword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x1004cd70
fstp qword [esp + 0x10]
mov ebx, esi
jmp 0x1004cd72
fstp st(0)
cmp esi, dword [esp + 0x88]
je 0x1004cdba
cmp esi, dword [esp + 0x90]
je 0x1004cdba
fld qword [ecx - 8]
fld qword [ecx]
fsub qword [edx + 0x10]
fxch st(1)
fsub qword [edx + 8]
fld qword [ecx - 0x10]
fsub qword [edx]
fxch st(2)
fmul qword [esp + 0x44]
fxch st(1)
fmul qword [esp + 0x3c]
fxch st(2)
fmul st(3)
fxch st(2)
faddp st(1)
fxch st(1)
faddp st(1)
fabs
fcomp qword [ebp + 8]
fnstsw ax
test ah, 0x41
je 0x1004cdc6
inc esi
add ecx, 0x18
cmp esi, edi
jl 0x1004cd36
cmp esi, edi
jne 0x1004cff9
mov esi, dword [ebp + 0x18]
mov eax, 1
test esi, esi
mov dword [esp + 0x64], eax
je 0x1004cff9
test ebx, ebx
je 0x1004cdf2
dec edi
cmp ebx, edi
jne 0x1004cdef
xor eax, eax
jmp 0x1004cdf2
lea eax, [ebx + 1]
lea eax, [eax + eax*2]
lea ecx, [ebx + ebx*2]
fld qword [edx + eax*8 + 8]
fld qword [edx + eax*8]
fsub qword [edx + ecx*8]
fxch st(1)
fsub qword [edx + ecx*8 + 8]
lea eax, [edx + eax*8]
lea ecx, [edx + ecx*8]
fld qword [eax + 0x10]
fsub qword [ecx + 0x10]
fxch st(2)
fst qword [esp + 0x90]
fxch st(1)
fst qword [esp + 0x88]
fxch st(2)
fst qword [esp + 0x68]
fxch st(1)
fst qword [esp + 0x1c]
fxch st(2)
fst qword [esp + 0x24]
fxch st(2)
fmul qword [esp + 0x1c]
fxch st(1)
fstp qword [esp + 0x2c]
fxch st(1)
fmul qword [esp + 0x24]
fld qword [esp + 0x2c]
fmul qword [esp + 0x2c]
fxch st(1)
faddp st(2)
fld qword [esp + 0x3c]
fld qword [esp + 0x44]
fxch st(2)
faddp st(3)
fld qword [esp + 0x44]
fld st(4)
fxch st(4)
fsqrt
fld st(5)
fxch st(3)
fmul qword [esp + 0x5c]
fld qword [esp + 0x3c]
fxch st(5)
fmul qword [esp + 0x54]
fsubp st(1)
fstp qword [esp + 0x70]
fst qword [esp + 0x10]
fcomp qword [0x10059ee8]
fmul qword [esp + 0x4c]
fxch st(3)
fmul qword [esp + 0x5c]
fxch st(1)
fmul qword [esp + 0x54]
fxch st(1)
fsubp st(3)
fxch st(1)
fmul qword [esp + 0x4c]
fxch st(2)
fstp qword [esp + 0x78]
fxch st(1)
fsubp st(1)
fnstsw ax
fstp qword [esp + 0x80]
test ah, 0x41
jne 0x1004cef0
fld qword [0x10059ed8]
fdiv qword [esp + 0x10]
fld st(0)
fld st(1)
fxch st(1)
fmul qword [esp + 0x1c]
fxch st(1)
fmul qword [esp + 0x24]
fxch st(2)
fmul qword [esp + 0x2c]
fxch st(1)
fstp qword [esp + 0x1c]
fxch st(1)
fstp qword [esp + 0x24]
fstp qword [esp + 0x2c]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
fld qword [esp + 0x90]
fld qword [esp + 0x88]
fxch st(3)
fmul qword [esp + 0x1c]
fld qword [esp + 0x80]
fxch st(3)
fmul qword [esp + 0x24]
fld qword [esp + 0x68]
fxch st(1)
faddp st(2)
fxch st(3)
fmul qword [esp + 0x2c]
fld st(2)
fld st(5)
fxch st(1)
fmul st(4)
fxch st(5)
fstp qword [esp + 0x2c]
fmul st(5)
fld qword [esp + 0x2c]
fmul qword [esp + 0x2c]
fxch st(1)
faddp st(5)
fxch st(1)
faddp st(2)
faddp st(3)
fstp qword [esp + 0x68]
fxch st(1)
fsqrt
fst qword [esp + 0x10]
fcomp qword [0x10059ee8]
fxch st(1)
fnstsw ax
test ah, 0x41
jne 0x1004cf7e
fld qword [0x10059ed8]
fdiv qword [esp + 0x10]
fld st(0)
fld st(1)
fxch st(1)
fmulp st(4)
fmulp st(2)
fmul qword [esp + 0x2c]
jmp 0x1004cf82
fld qword [esp + 0x2c]
fld qword [esp + 0x78]
fld qword [esp + 0x70]
fmul st(4)
fld qword [esp + 0x80]
fxch st(2)
fmul st(4)
fxch st(2)
fmul st(3)
fxch st(2)
faddp st(1)
fxch st(1)
faddp st(1)
fadd qword [esp + 0x68]
fcomp qword [0x10059ee0]
fstp st(0)
fnstsw ax
fstp st(0)
test ah, 1
fstp st(0)
je 0x1004cfd0
fchs
fld qword [esp + 0x3c]
fchs
fstp qword [esp + 0x3c]
fld qword [esp + 0x44]
fchs
fstp qword [esp + 0x44]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [esi + 8], edx
mov edx, dword [esp + 0x48]
mov dword [esi + 0xc], eax
fstp qword [esi]
mov eax, dword [esp + 0x64]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov eax, dword [esp + 0x64]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret