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

Disassembly:
sub esp, 0xdc
mov eax, dword [esp + 0xe4]
push esi
fld dword [esp + 0xec]
fmul dword [eax]
fld dword [esp + 0xec]
fmul dword [eax + 4]
mov esi, ecx
xor dl, dl
mov dword [esp + 0x68], esi
mov byte [esp + 7], dl
mov ecx, dword [esi + 0x16c]
fstp dword [esp + 0x60]
fld dword [esp + 0xec]
fmul dword [eax + 8]
mov eax, dword [esp + 0xe4]
fstp dword [esp + 0x64]
fadd dword [eax]
fld dword [esp + 0x60]
fadd dword [eax + 4]
fstp dword [esp + 0x3c]
fld dword [esp + 0x64]
fadd dword [eax + 8]
fstp dword [esp + 0x40]
fsub dword [eax]
fld dword [esp + 0x3c]
fsub dword [eax + 4]
fld dword [esp + 0x40]
fsub dword [eax + 8]
mov eax, dword [ecx]
cmp eax, ecx
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp st(3)
fstp st(0)
fstp st(0)
fstp dword [esp + 0x74]
je 0x663f59
push ebx
push ebp
push edi
jmp 0x663a83
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax]
mov ebp, dword [eax + 8]
mov dword [esp + 0x7c], ecx
mov ecx, dword [eax + 0xc]
cmp ecx, 1
mov dword [esp + 0x8c], ebp
jg 0x663f38
mov eax, dword [ebp + 0x13c]
mov ebx, dword [eax]
cmp ebx, eax
je 0x663f38
mov eax, ebx
mov ebx, dword [ebx]
mov edi, dword [eax + 8]
mov esi, dword [edi + 4]
mov ecx, esi
call fcn.00456fd0
mov ecx, eax
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
test edx, edx
jle 0x663f24
mov ebp, 2
mov dword [esp + 0x78], edx
lea ecx, [ebp - 2]
push ecx
mov ecx, dword [edi + 4]
call fcn.00456ff0
lea edx, [esp + 0xa4]
push eax
push edx
mov ecx, esi
call fcn.00457010
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x18], edx
mov eax, dword [eax + 8]
mov ecx, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
push ecx
push edx
push eax
lea ecx, [esp + 0x5c]
call fcn.004251c0
fld dword [esp + 0x58]
fmul dword [esi + 0x74]
fld dword [esp + 0x54]
fmul dword [esi + 0x64]
lea ecx, [ebp - 1]
push ecx
faddp st(1)
fld dword [esp + 0x54]
fmul dword [esi + 0x54]
faddp st(1)
fadd dword [esi + 0x84]
fstp dword [esp + 0x18]
fld dword [esp + 0x5c]
fmul dword [esi + 0x78]
fld dword [esp + 0x58]
fmul dword [esi + 0x68]
faddp st(1)
fld dword [esp + 0x54]
fmul dword [esi + 0x58]
faddp st(1)
fadd dword [esi + 0x88]
fstp dword [esp + 0x1c]
fld dword [esp + 0x5c]
fmul dword [esi + 0x7c]
fld dword [esp + 0x58]
fmul dword [esi + 0x6c]
faddp st(1)
fld dword [esp + 0x54]
fmul dword [esi + 0x5c]
faddp st(1)
fadd dword [esi + 0x8c]
fstp dword [esp + 0x20]
mov ecx, dword [edi + 4]
call fcn.00456ff0
lea edx, [esp + 0xbc]
push eax
push edx
mov ecx, esi
call fcn.00457010
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x30], edx
mov eax, dword [eax + 8]
mov ecx, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x2c]
push ecx
push edx
push eax
lea ecx, [esp + 0x68]
call fcn.004251c0
fld dword [esp + 0x64]
fmul dword [esi + 0x74]
fld dword [esp + 0x60]
fmul dword [esi + 0x64]
faddp st(1)
fld dword [esp + 0x5c]
fmul dword [esi + 0x54]
faddp st(1)
push ebp
fadd dword [esi + 0x84]
fstp dword [esp + 0x30]
fld dword [esp + 0x68]
fmul dword [esi + 0x78]
fld dword [esp + 0x64]
fmul dword [esi + 0x68]
faddp st(1)
fld dword [esp + 0x60]
fmul dword [esi + 0x58]
faddp st(1)
fadd dword [esi + 0x88]
fstp dword [esp + 0x34]
fld dword [esp + 0x68]
fmul dword [esi + 0x7c]
fld dword [esp + 0x64]
fmul dword [esi + 0x6c]
faddp st(1)
fld dword [esp + 0x60]
fmul dword [esi + 0x5c]
faddp st(1)
fadd dword [esi + 0x8c]
fstp dword [esp + 0x38]
mov ecx, dword [edi + 4]
call fcn.00456ff0
lea ecx, [esp + 0xd4]
push eax
push ecx
mov ecx, esi
call fcn.00457010
mov edx, dword [eax]
mov dword [esp + 0x38], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x3c], ecx
mov edx, dword [eax + 8]
mov eax, edx
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
lea ecx, [esp + 0x50]
call fcn.004251c0
fld dword [esp + 0x4c]
fmul dword [esi + 0x74]
fld dword [esp + 0x48]
fmul dword [esi + 0x64]
faddp st(1)
fld dword [esp + 0x44]
fmul dword [esi + 0x54]
faddp st(1)
fadd dword [esi + 0x84]
fstp dword [esp + 0x38]
fld dword [esp + 0x4c]
fmul dword [esi + 0x78]
fld dword [esp + 0x48]
fmul dword [esi + 0x68]
faddp st(1)
fld dword [esp + 0x44]
fmul dword [esi + 0x58]
faddp st(1)
fadd dword [esi + 0x88]
fstp dword [esp + 0x3c]
fld dword [esp + 0x44]
fmul dword [esi + 0x5c]
fld dword [esp + 0x4c]
fmul dword [esi + 0x7c]
faddp st(1)
fld dword [esp + 0x48]
fmul dword [esi + 0x6c]
faddp st(1)
fadd dword [esi + 0x8c]
fstp dword [esp + 0x40]
fld dword [esp + 0x2c]
fsub dword [esp + 0x14]
fld dword [esp + 0x30]
fsub dword [esp + 0x18]
fld dword [esp + 0x34]
fsub dword [esp + 0x1c]
fld dword [esp + 0x38]
fsub dword [esp + 0x14]
fstp dword [esp + 0x68]
fld dword [esp + 0x3c]
fsub dword [esp + 0x18]
fstp dword [esp + 0x6c]
fld dword [esp + 0x40]
fsub dword [esp + 0x1c]
fld st(0)
fmul st(3)
fld dword [esp + 0x6c]
fmul st(3)
fsubp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x68]
fmul st(2)
fxch st(1)
fmul st(4)
fsubp st(1)
fstp dword [esp + 0x24]
fstp st(0)
fld dword [esp + 0x6c]
fmul st(2)
fld dword [esp + 0x68]
fmul st(2)
fsubp st(1)
fstp dword [esp + 0x28]
fstp st(0)
fstp st(0)
fld dword [esp + 0x24]
fld dword [esp + 0x28]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld dword [esp + 0x20]
fmul dword [esp + 0x20]
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fcom dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x663d9c
fld dword [esp + 0x20]
fdiv st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fdiv st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x28]
fdiv st(1)
fstp dword [esp + 0x28]
mov eax, dword [esp + 0x74]
fstp st(0)
mov ecx, dword [eax + 0x124]
push ecx
lea ecx, [esp + 0x24]
call fcn.0049fcf0
lea edx, [esp + 0x20]
lea ecx, [esp + 0x14]
push edx
call fcn.00425800
lea eax, [esp + 0x20]
lea ecx, [esp + 0x2c]
push eax
call fcn.00425800
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x3c]
call fcn.00425800
lea edx, [esp + 0x98]
lea eax, [esp + 0x94]
push edx
lea ecx, [esp + 0x88]
push eax
lea edx, [esp + 0x90]
push ecx
lea eax, [esp + 0x44]
push edx
lea ecx, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x108]
lea edx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x108]
push edx
push eax
push ecx
call fcn.00436a80
add esp, 0x24
test al, al
je 0x663f0b
mov edx, dword [esp + 0xf0]
lea eax, [esp + 0xb0]
push edx
push eax
lea ecx, [esp + 0xa0]
call fcn.004254e0
mov ecx, eax
call fcn.00424e70
fcomp dword [esp + 0x80]
fnstsw ax
test ah, 1
je 0x663f0b
mov ecx, dword [esp + 0xfc]
test ecx, ecx
je 0x663e78
lea edx, [esp + 0x98]
push edx
call fcn.00426b10
mov eax, dword [esp + 0x100]
test eax, eax
je 0x663ec9
lea eax, [esp + 0x14]
lea ecx, [esp + 0xc8]
push eax
push ecx
lea ecx, [esp + 0x40]
call fcn.004254e0
push eax
lea edx, [esp + 0x18]
lea eax, [esp + 0xe4]
push edx
push eax
lea ecx, [esp + 0x38]
call fcn.004254e0
mov ecx, dword [esp + 0x104]
push eax
call fcn.00436a40
mov ecx, dword [esp + 0x100]
call fcn.00457260
mov ecx, dword [esp + 0x104]
test ecx, ecx
je 0x663f06
lea edx, [esp + 0x14]
push edx
call fcn.00426b10
mov ecx, dword [esp + 0x104]
lea eax, [esp + 0x2c]
push eax
add ecx, 0xc
call fcn.00426b10
mov eax, dword [esp + 0x104]
lea edx, [esp + 0x38]
push edx
lea ecx, [eax + 0x18]
call fcn.00426b10
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x78]
add ebp, 3
dec eax
mov dword [esp + 0x78], eax
jne 0x663ae1
mov ebp, dword [esp + 0x8c]
cmp ebx, dword [ebp + 0x13c]
jne 0x663aaf
mov dl, byte [esp + 0x13]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
mov eax, dword [esi + 0x16c]
cmp ecx, eax
jne 0x663a7f
pop edi
pop ebp
pop ebx
mov al, dl
pop esi
add esp, 0xdc
ret 0x18
mov al, dl
pop esi
add esp, 0xdc
ret 0x18