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

Disassembly:
sub esp, 0xe8
push ebx
mov ebx, dword [esp + 0xf0]
push ebp
mov ebp, ecx
fld dword [ebx]
fsub dword [ebp + 8]
fld dword [ebx + 4]
push esi
push edi
fsub dword [ebp + 0xc]
lea edi, [ebp + 8]
mov esi, edx
fld dword [ebx + 8]
fsub dword [ebp + 0x10]
mov eax, edi
mov dword [esp + 0x20], ebp
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
mov ecx, dword [eax]
mov dword [esp + 0x48], ecx
mov ecx, ebx
faddp st(1)
fld st(3)
fmul st(4)
mov edx, dword [eax + 4]
mov dword [esp + 0x4c], edx
mov edx, dword [ecx]
faddp st(1)
mov eax, dword [eax + 8]
mov dword [esp + 0x10], edx
mov dword [esp + 0x50], eax
mov eax, dword [ecx + 4]
fsqrt
mov ecx, dword [ecx + 8]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov edx, esi
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
fdivr qword [0x491960]
fstp dword [esp + 0xe8]
fstp st(0)
fstp st(0)
fstp st(0)
fld dword [esp + 0x10]
fsub dword [esp + 0x48]
fld dword [esp + 0x14]
fsub dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov eax, esi
fstp dword [esp + 0x58]
fld dword [esp + 0x18]
fsub dword [esp + 0x50]
mov dword [esp + 0x18], edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
fstp dword [esp + 0x5c]
mov eax, dword [eax + 8]
fadd dword [esp + 0x10]
fld dword [esp + 0x14]
fadd dword [esp + 0x58]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
fstp dword [esp + 0x9c]
fld dword [esp + 0x18]
fadd dword [esp + 0x5c]
mov dword [esp + 0x18], eax
fstp dword [esp + 0xa0]
fsub dword [esp + 0x10]
fld dword [esp + 0x9c]
fsub dword [esp + 0x14]
fld dword [esp + 0xa0]
fsub dword [esp + 0x18]
fld st(2)
fmul dword [esi + 0x24]
fld st(1)
fmul dword [esi + 0x2c]
faddp st(1)
fld st(2)
fmul dword [esi + 0x28]
sub esp, 0xc
mov ecx, esp
faddp st(1)
fstp dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
fld st(0)
fmul dword [esi + 0x14]
fld st(2)
fmul dword [esi + 0x10]
mov dword [ecx], edx
faddp st(1)
fld st(3)
fmul dword [esi + 0xc]
faddp st(1)
fstp dword [esp + 0x20]
fxch st(2)
fmul dword [esi + 0x18]
fxch st(2)
fmul dword [esi + 0x20]
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], eax
lea eax, [esp + 0x60]
faddp st(2)
push eax
fmul dword [esi + 0x1c]
faddp st(1)
fstp dword [esp + 0x28]
mov edx, dword [esp + 0x28]
mov dword [ecx + 8], edx
call fcn.0044f1c0
mov ecx, dword [eax]
sub esp, 0xc
mov dword [esp + 0xa4], ecx
mov ecx, edi
mov edx, dword [eax + 4]
mov dword [esp + 0xa8], edx
mov edx, dword [ecx]
mov eax, dword [eax + 8]
mov dword [esp + 0x54], edx
mov dword [esp + 0xac], eax
mov eax, dword [ecx + 4]
mov edx, esi
mov dword [esp + 0x58], eax
mov ecx, dword [ecx + 8]
mov eax, dword [edx]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x1c], eax
mov eax, esp
fld dword [esp + 0x1c]
fsub dword [esp + 0x54]
mov ecx, dword [edx + 4]
mov dword [esp + 0x20], ecx
mov edx, dword [edx + 8]
fstp dword [esp + 0x6c]
fld dword [esp + 0x20]
fsub dword [esp + 0x58]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x24], edx
mov dword [eax], ecx
fstp dword [esp + 0x70]
fld dword [esp + 0x24]
fsub dword [esp + 0x5c]
mov edx, dword [esp + 0x70]
mov dword [eax + 4], edx
lea edx, [esp + 0x60]
push edx
fstp dword [esp + 0x78]
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
call fcn.0044f1c0
mov ecx, dword [eax]
mov dword [esp + 0x6c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x70], edx
mov eax, dword [eax + 8]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov dword [esp + 0x48], ecx
mov ecx, dword [ebx]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x4c], edx
fld dword [esp + 0x10]
fsub dword [esp + 0x48]
mov edx, dword [ebx + 4]
mov dword [esp + 0x74], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x14], edx
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 8]
fstp dword [esp + 0x60]
fld dword [esp + 0x14]
fsub dword [esp + 0x4c]
mov edx, dword [esp + 0x60]
sub esp, 0xc
mov dword [esp + 0x24], eax
mov ecx, esp
fstp dword [esp + 0x70]
fld dword [esp + 0x24]
fsub dword [esp + 0x5c]
mov eax, dword [esp + 0x70]
mov dword [ecx], edx
mov dword [ecx + 4], eax
lea eax, [esp + 0x98]
fstp dword [esp + 0x74]
mov edx, dword [esp + 0x74]
push eax
mov dword [ecx + 8], edx
call fcn.0044f1c0
mov ecx, dword [eax]
fld dword [esp + 0x6c]
mov edx, dword [eax + 4]
mov dword [esp + 0x10], ecx
fadd dword [esp + 0x10]
fld dword [esp + 0x70]
mov eax, dword [eax + 8]
mov dword [esp + 0x14], edx
fadd dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov ecx, esi
mov edx, dword [ecx]
fstp dword [esp + 0x58]
fld dword [esp + 0x74]
fadd dword [esp + 0x18]
mov eax, dword [ecx + 4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov edx, esi
mov ecx, dword [ecx + 8]
fstp dword [esp + 0x5c]
mov dword [esp + 0x18], ecx
mov eax, dword [edx]
fadd dword [esp + 0x10]
fld dword [esp + 0x14]
fadd dword [esp + 0x58]
mov ecx, dword [edx + 4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov edx, dword [edx + 8]
fstp dword [esp + 0x90]
fld dword [esp + 0x18]
fadd dword [esp + 0x5c]
mov dword [esp + 0x18], edx
fstp dword [esp + 0x94]
fsub dword [esp + 0x10]
fld dword [esp + 0x90]
fsub dword [esp + 0x14]
fld dword [esp + 0x94]
fsub dword [esp + 0x18]
fld st(2)
fmul dword [esi + 0x24]
fld st(1)
fmul dword [esi + 0x2c]
faddp st(1)
fld st(2)
fmul dword [esi + 0x28]
faddp st(1)
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
sub esp, 0xc
fld st(0)
fmul dword [esi + 0x14]
fld st(2)
fmul dword [esi + 0x10]
mov eax, esp
faddp st(1)
fld st(3)
fmul dword [esi + 0xc]
mov dword [eax], ecx
faddp st(1)
fstp dword [esp + 0x20]
fxch st(2)
fmul dword [esi + 0x18]
fxch st(2)
fmul dword [esi + 0x20]
mov edx, dword [esp + 0x20]
mov dword [eax + 4], edx
lea edx, [esp + 0x98]
faddp st(2)
push edx
fmul dword [esi + 0x1c]
faddp st(1)
fstp dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
call fcn.0044f0c0
mov ecx, dword [eax]
fld dword [ebp + 0x8c]
mov edx, dword [eax + 4]
mov dword [esp + 0x54], ecx
fmul dword [0x491a24]
mov eax, dword [eax + 8]
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 0x88]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x44], eax
fstp dword [esp + 0xf0]
fld dword [esp + 0x6c]
fsub dword [esp + 0x44]
mov dword [esp + 0x58], edx
mov edx, dword [ebp + 0x24]
mov dword [esp + 0x70], edx
xor eax, eax
mov dword [ebp + 0xd8], eax
mov dword [ebp + 0xd4], eax
fstp dword [esp + 0x30]
fld dword [esp + 0x6c]
fadd dword [esp + 0x44]
mov dword [ebp + 0xd0], eax
mov dword [ebp + 0xcc], eax
fstp dword [esp + 0x3c]
fld dword [esp + 0x70]
fsub dword [esp + 0x44]
fstp dword [esp + 0x1c]
fld dword [esp + 0x70]
fadd dword [esp + 0x44]
fstp dword [esp + 0x38]
fld dword [esp + 0x30]
fcomp dword [0x4917a8]
fnstsw ax
test ah, 0x41
je 0x45d02b
fld dword [esp + 0x3c]
fcomp dword [0x49144c]
fnstsw ax
test ah, 1
jne 0x45d02b
fld dword [esp + 0x1c]
fcomp dword [0x4918a4]
fnstsw ax
test ah, 0x41
je 0x45d02b
fld dword [esp + 0x38]
fcomp dword [0x49144c]
fnstsw ax
test ah, 1
jne 0x45d02b
fld dword [esp + 0x30]
fcomp dword [0x49144c]
fnstsw ax
test ah, 0x41
jne 0x45c42b
fld dword [esp + 0x30]
jmp 0x45c431
fld dword [0x49144c]
call fcn.0044eaa0
mov dword [esp + 0x40], eax
mov dword [ebp + 0xcc], eax
fild dword [esp + 0x40]
fstp dword [esp + 0x30]
fld dword [esp + 0x3c]
fcomp dword [0x4917a8]
fnstsw ax
test ah, 1
jne 0x45c461
mov dword [esp + 0x3c], 0x4447c000
fld dword [esp + 0x3c]
fadd dword [0x491434]
call fcn.0044eaa0
fld dword [esp + 0x1c]
fcomp dword [0x49144c]
mov dword [ebp + 0xd4], eax
fnstsw ax
test ah, 0x41
jne 0x45c48d
fld dword [esp + 0x1c]
jmp 0x45c493
fld dword [0x49144c]
call fcn.0044eaa0
mov dword [esp + 0x40], eax
mov dword [ebp + 0xd0], eax
fild dword [esp + 0x40]
fstp dword [esp + 0x1c]
fld dword [esp + 0x38]
fcomp dword [0x4918a4]
fnstsw ax
test ah, 1
jne 0x45c4c3
mov dword [esp + 0x38], 0x4415c000
fld dword [esp + 0x38]
fadd dword [0x491434]
fst dword [esp + 0x2c]
call fcn.0044eaa0
push ebp
mov ecx, esi
mov dword [ebp + 0xd8], eax
call fcn.004334b0
fld dword [ebp + 0x10]
fsub dword [0x491434]
fcom dword [0x491434]
fnstsw ax
test ah, 1
jne 0x45c507
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x84], ecx
jmp 0x45c543
fcom dword [0x491508]
fnstsw ax
test ah, 1
je 0x45c520
fld dword [esp + 0x1c]
fsub dword [0x491434]
jmp 0x45c53c
fld dword [esp + 0x38]
fsub dword [esp + 0x1c]
fld st(1)
fadd dword [0x491434]
fmulp st(1)
fmul dword [0x4914c8]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x84]
fadd dword [0x491434]
fst dword [esp + 0x24]
fcomp dword [0x491434]
fnstsw ax
test ah, 1
jne 0x45c567
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x80], edx
jmp 0x45c5a9
fld dword [esp + 0x24]
fcomp dword [0x491508]
fnstsw ax
test ah, 1
je 0x45c584
fld dword [esp + 0x1c]
fsub dword [0x491434]
jmp 0x45c5a2
fld dword [esp + 0x38]
fsub dword [esp + 0x1c]
fld dword [esp + 0x24]
fadd dword [0x491434]
fmulp st(1)
fmul dword [0x4914c8]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x80]
fld dword [esp + 0x30]
call fcn.0044eaa0
mov edi, dword [esp + 0x104]
mov esi, eax
fld dword [esp + 0x1c]
mov dword [esp + 0xf4], esi
mov dword [edi + 8], esi
call fcn.0044eaa0
fld dword [esp + 0x38]
fsub dword [esp + 0x1c]
mov ebx, eax
mov dword [esp + 0xec], ebx
mov dword [edi + 0xc], ebx
call fcn.0044eaa0
mov dword [esp + 0xc0], eax
inc eax
push eax
mov ecx, 0x4b0ce8
call fcn.0040bd90
fld dword [0x491434]
fdiv dword [esp + 0x44]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], eax
fstp dword [esp + 0xa8]
fld dword [esp + 0x30]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
je 0x45cffd
fld dword [esp + 0x34]
fsub dword [esp + 0x6c]
fmul dword [esp + 0xa8]
fst dword [esp + 0x2c]
fmul dword [esp + 0x2c]
fst dword [esp + 0xa4]
fcomp dword [0x491434]
fnstsw ax
test ah, 0x41
je 0x45cfcb
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x100]
mov dword [esp + 0x7c], ecx
xor ecx, ecx
cmp eax, ecx
je 0x45c6d3
mov edx, dword [0x49e7d8]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], edx
fild qword [esp + 0x60]
fcomp dword [esp + 0x34]
fnstsw ax
test ah, 0x41
je 0x45cfcb
mov eax, dword [0x49e7dc]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
fild qword [esp + 0x48]
fcomp dword [esp + 0x34]
fnstsw ax
test ah, 1
jne 0x45cfcb
fld dword [esp + 0x34]
call fcn.0044eaa0
fld dword [esp + 0x38]
fcomp dword [eax*4 + 0x49e7e0]
lea ecx, [eax*4 + 0x49e7e0]
fnstsw ax
test ah, 0x41
jne 0x45c6d3
mov ecx, dword [ecx]
mov dword [esp + 0x7c], ecx
fld dword [esp + 0x2c]
fmul dword [ebp + 0x64]
fstp dword [esp + 0xe4]
fld dword [esp + 0x34]
call fcn.0044eaa0
fld dword [esp + 0x98]
fmul dword [esp + 0x2c]
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x1c]
and eax, 3
mov dword [esp + 0x28], edx
shl eax, 2
fstp dword [esp + 0xd0]
fld dword [esp + 0x54]
fmul dword [esp + 0x2c]
mov dword [esp + 0xe0], eax
fstp dword [esp + 0xb0]
fld dword [esp + 0x1c]
fcomp dword [esp + 0x7c]
fnstsw ax
test ah, 0x41
je 0x45cfcb
fld dword [esp + 0x70]
fsub dword [esp + 0x28]
fmul dword [esp + 0xa8]
fld st(0)
fmul st(1)
fadd dword [esp + 0xa4]
fcom dword [0x491434]
fnstsw ax
test ah, 0x41
je 0x45cfaa
fld dword [0x491434]
fsub st(1)
fmul dword [0x491950]
fadd dword [0x4914c8]
call fcn.0044eaa0
fstp st(0)
fld dword [eax*4 + 0x4b1064]
fchs
fst dword [esp + 0x24]
fmul dword [ebp + 0x68]
fld st(1)
fmul dword [ebp + 0x6c]
add ebp, 0x94
mov eax, ebp
faddp st(1)
mov esi, dword [eax]
fadd dword [esp + 0xe4]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
fstp dword [esp + 0xac]
fld dword [esp + 0xac]
fabs
fcom dword [0x491a20]
fnstsw ax
test ah, 0x41
je 0x45c7e3
mov edx, dword [esp + 0x20]
lea ecx, [edx + 0xa0]
mov esi, dword [edx + 0xa0]
mov edi, dword [ecx + 4]
mov ebx, dword [ecx + 8]
jmp 0x45c8d9
fcom dword [0x491a1c]
fnstsw ax
test ah, 0x41
je 0x45c85a
fld dword [0x491a1c]
fsub st(1)
mov ebx, dword [esp + 0x20]
fmul dword [0x491a18]
fld dword [0x49143c]
fsub st(1)
fild dword [0x4957c8]
fmul st(1)
fild dword [ebx + 0xa0]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [ebx + 0xa4]
mov esi, eax
fmul st(2)
fild dword [0x4957cc]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [ebx + 0xa8]
mov edi, eax
fmul st(2)
fild dword [0x4957d0]
fmul st(2)
jmp 0x45c8c2
fcom dword [0x491720]
fnstsw ax
test ah, 0x41
je 0x45c8d5
fld dword [0x491720]
fsub st(1)
fmul dword [0x491a18]
fld dword [0x49143c]
fsub st(1)
fild dword [0x4957c8]
fmul st(2)
fild dword [ebp]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [ebp + 4]
mov esi, eax
fmul st(1)
fild dword [0x4957cc]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [ebp + 8]
mov edi, eax
fmul st(1)
fild dword [0x4957d0]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fstp st(0)
fstp st(0)
mov ebx, eax
mov edx, dword [esp + 0x20]
mov ebp, dword [edx + 0x90]
cmp ebp, 0xffffffff
je 0x45cc81
fcomp qword [0x491a10]
fnstsw ax
test ah, 0x41
jne 0x45cc83
fld dword [esp + 0x24]
fmul dword [edx + 0x74]
fld st(1)
fmul dword [edx + 0x78]
faddp st(1)
fld dword [esp + 0x2c]
fmul dword [edx + 0x70]
faddp st(1)
fst dword [esp + 0x88]
fcomp dword [0x491a0c]
fnstsw ax
test ah, 1
jne 0x45cc83
fld dword [esp + 0x88]
fcomp dword [0x4914c8]
fnstsw ax
test ah, 1
je 0x45cc83
fld dword [esp + 0x24]
fmul dword [edx + 0x80]
fld st(1)
fmul dword [edx + 0x84]
faddp st(1)
fld dword [esp + 0x2c]
fmul dword [edx + 0x7c]
faddp st(1)
fst dword [esp + 0x78]
fcomp dword [0x491a0c]
fnstsw ax
test ah, 1
jne 0x45cc83
fld dword [esp + 0x78]
fcomp dword [0x4914c8]
fnstsw ax
test ah, 1
je 0x45cc83
fld dword [esp + 0x88]
fmul dword [0x491a08]
call fcn.0044eaa0
fld dword [esp + 0x78]
fmul dword [0x491a04]
mov esi, 0x20
sub esi, eax
call fcn.0044eaa0
fld dword [esp + 0xac]
fcomp dword [0x49144c]
mov ecx, eax
fnstsw ax
test ah, 0x41
jne 0x45c9c7
neg ecx
mov edx, dword [esp + 0x20]
add ecx, 0x20
fld dword [edx + 0x8c]
fcomp dword [0x491524]
mov edx, dword [ebp*8 + 0x516370]
fnstsw ax
test ah, 1
je 0x45cb2b
test edx, edx
je 0x45ca49
mov edi, ecx
and edi, 0x8000003f
jns 0x45c9ff
dec edi
or edi, 0xffffffc0
inc edi
mov eax, 0x3f
sub eax, edi
mov edi, esi
shl eax, 6
and edi, 0x8000003f
jns 0x45ca18
dec edi
or edi, 0xffffffc0
inc edi
mov ebx, dword [edx + 0x14]
add eax, edi
mov edi, dword [edx]
xor edx, edx
lea eax, [eax + eax*2]
add eax, ebx
add eax, edi
mov dl, byte [eax]
inc eax
mov dword [esp + 0xcc], edx
xor edx, edx
mov dl, byte [eax]
mov dword [esp + 0xc8], edx
xor edx, edx
mov dl, byte [eax + 1]
mov dword [esp + 0xc4], edx
mov edx, dword [ebp*8 + 0x516374]
test edx, edx
je 0x45caaa
and ecx, 0x8000003f
jns 0x45ca61
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, 0x3f
sub eax, ecx
shl eax, 6
and esi, 0x8000003f
jns 0x45ca78
dec esi
or esi, 0xffffffc0
inc esi
mov edi, dword [edx + 0x14]
add eax, esi
mov esi, dword [edx]
xor ecx, ecx
lea eax, [eax + eax*2]
xor edx, edx
add eax, edi
add eax, esi
mov cl, byte [eax]
mov dl, byte [eax + 1]
mov dword [esp + 0xbc], ecx
inc eax
xor ecx, ecx
mov dword [esp + 0xb8], edx
mov cl, byte [eax + 1]
mov dword [esp + 0xb4], ecx
fld dword [esp + 0x24]
fmul dword [esp + 0xf0]
call fcn.0044eaa0
shl eax, 2
mov edx, 0x4b1064
sub edx, eax
fld dword [edx]
fmul dword [0x49143c]
fld dword [0x49143c]
fsub st(1)
fild dword [esp + 0xb4]
fmul st(1)
fild dword [esp + 0xc4]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0xb8]
mov esi, eax
fmul st(1)
fild dword [esp + 0xc8]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0xbc]
mov edi, eax
fmul st(1)
fild dword [esp + 0xcc]
jmp 0x45cc66
test edx, edx
je 0x45cb88
mov edi, ecx
and edi, 0x8000003f
jns 0x45cb3e
dec edi
or edi, 0xffffffc0
inc edi
mov eax, 0x3f
sub eax, edi
mov edi, esi
shl eax, 6
and edi, 0x8000003f
jns 0x45cb57
dec edi
or edi, 0xffffffc0
inc edi
mov ebx, dword [edx + 0x14]
add eax, edi
mov edi, dword [edx]
xor edx, edx
lea eax, [eax + eax*2]
add eax, ebx
add eax, edi
mov dl, byte [eax]
inc eax
mov dword [esp + 0x94], edx
xor edx, edx
mov dl, byte [eax]
mov dword [esp + 0x90], edx
xor edx, edx
mov dl, byte [eax + 1]
mov dword [esp + 0x8c], edx
mov edx, dword [ebp*8 + 0x516374]
test edx, edx
je 0x45cbe9
and ecx, 0x8000003f
jns 0x45cba0
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, 0x3f
sub eax, ecx
shl eax, 6
and esi, 0x8000003f
jns 0x45cbb7
dec esi
or esi, 0xffffffc0
inc esi
mov edi, dword [edx + 0x14]
add eax, esi
mov esi, dword [edx]
xor ecx, ecx
lea eax, [eax + eax*2]
xor edx, edx
add eax, edi
add eax, esi
mov cl, byte [eax]
mov dl, byte [eax + 1]
mov dword [esp + 0xdc], ecx
inc eax
xor ecx, ecx
mov dword [esp + 0xd8], edx
mov cl, byte [eax + 1]
mov dword [esp + 0xd4], ecx
fld dword [esp + 0x24]
fmul dword [0x491a00]
call fcn.0044eaa0
neg eax
shl eax, 2
mov edx, 0x4b1064
sub edx, eax
fld dword [edx]
fmul dword [0x49143c]
fld dword [0x49143c]
fsub st(1)
fild dword [esp + 0xd4]
fmul st(1)
fild dword [esp + 0x8c]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0xd8]
mov esi, eax
fmul st(1)
fild dword [esp + 0x90]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0xdc]
mov edi, eax
fmul st(1)
fild dword [esp + 0x94]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
mov edx, dword [esp + 0x20]
mov ebx, eax
fstp st(0)
fstp st(0)
jmp 0x45cc83
fstp st(0)
fld dword [esp + 0x9c]
fmul dword [esp + 0x24]
fld dword [esp + 0xa0]
fmul st(2)
faddp st(1)
fadd dword [esp + 0xd0]
fmul dword [esp + 0xe8]
fcom dword [0x49144c]
fnstsw ax
test ah, 1
je 0x45ccbd
fstp st(0)
mov ecx, 0x46
jmp 0x45cce0
fmul dword [0x491944]
call fcn.0044eaa0
mov ecx, 0x46
sub ecx, eax
cmp ecx, 0xff
jle 0x45ccdc
mov ecx, 0xff
mov edx, dword [esp + 0x20]
fld dword [esp + 0x44]
imul esi, ecx
fcomp dword [0x4914e0]
fnstsw ax
imul edi, ecx
imul ebx, ecx
test ah, 0x41
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebx
jne 0x45cd4f
fld dword [esp + 0x28]
call fcn.0044eaa0
mov ecx, dword [esp + 0xe0]
and eax, 3
add eax, ecx
fld dword [eax*4 + 0x4b0fe0]
fild dword [esp + 0x10]
fadd st(1)
call fcn.0044eaa0
fild dword [esp + 0x14]
mov esi, eax
fadd st(1)
call fcn.0044eaa0
fild dword [esp + 0x18]
mov edi, eax
fadd st(1)
call fcn.0044eaa0
mov edx, dword [esp + 0x20]
mov ebx, eax
fstp st(0)
fld dword [edx + 0xe4]
fcomp dword [0x49144c]
sar esi, 8
sar edi, 8
sar ebx, 8
fnstsw ax
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
test ah, 0x41
mov dword [esp + 0x18], ebx
jne 0x45cdfc
fld dword [edx + 0xe4]
fmul dword [0x491940]
fmul dword [0x49143c]
fld dword [0x49143c]
fsub st(1)
fild dword [esp + 0x10]
fmul st(1)
fild dword [0x4957d8]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0x14]
mov esi, eax
fmul st(1)
fild dword [0x4957dc]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0x18]
mov edi, eax
fmul st(1)
fild dword [0x4957e0]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fstp st(0)
mov ebx, eax
mov dword [esp + 0x10], esi
fstp st(0)
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebx
fld dword [esp + 0x58]
fmul dword [esp + 0x24]
fld dword [esp + 0x5c]
fmul st(2)
faddp st(1)
fadd dword [esp + 0xb0]
fstp st(1)
fcom dword [0x49193c]
fnstsw ax
test ah, 0x41
jne 0x45cea1
fld st(0)
fmulp st(1)
fld st(0)
fmulp st(1)
fld st(0)
fmulp st(1)
fadd st(0), st(0)
fsub dword [0x491434]
fmul dword [0x491938]
fld dword [0x49143c]
fsub st(1)
fild dword [esp + 0x10]
fmul st(1)
fild dword [0x4957d8]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0x14]
mov esi, eax
fmul st(1)
fild dword [0x4957dc]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0x18]
mov edi, eax
fmul st(1)
fild dword [0x4957e0]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fstp st(0)
fstp st(0)
mov ebx, eax
jmp 0x45cea3
fstp st(0)
fld dword [esp + 0x28]
fcomp dword [esp + 0x84]
fnstsw ax
test ah, 0x41
jne 0x45ced1
fld dword [esp + 0x28]
call fcn.0044eaa0
mov ecx, dword [esp + 0x40]
mov edx, eax
call fcn.0042f660
test eax, eax
jne 0x45cfa4
fld dword [esp + 0x28]
fcomp dword [esp + 0x80]
fnstsw ax
test ah, 0x41
jne 0x45cf01
fld dword [esp + 0x28]
push 0xffffffffffffffff
call fcn.0044eaa0
mov ecx, dword [esp + 0x44]
mov edx, eax
call fcn.0042efa0
test eax, eax
je 0x45cfa4
fld dword [esp + 0x24]
fcomp qword [0x491930]
fnstsw ax
test ah, 0x41
jne 0x45cf66
fld dword [esp + 0x24]
fmul dword [0x491968]
and esi, 0x1f8
and edi, 0x3ff8
shl esi, 5
add esi, edi
sar ebx, 3
lea eax, [ebx + esi*4]
push eax
call fcn.0044eaa0
fld dword [esp + 0x2c]
fsub dword [esp + 0x20]
push eax
call fcn.0044eaa0
fld dword [esp + 0x3c]
fsub dword [esp + 0x38]
push eax
call fcn.0044eaa0
push eax
mov ecx, 0x4b0ce8
call fcn.0040bd20
mov ebp, dword [esp + 0x20]
jmp 0x45cfae
fld dword [esp + 0x28]
fsub dword [esp + 0x1c]
and esi, 0x1f8
and edi, 0x3ff8
shl esi, 5
add esi, edi
sar ebx, 3
lea ecx, [ebx + esi*4]
push ecx
call fcn.0044eaa0
fld dword [esp + 0x38]
fsub dword [esp + 0x34]
push eax
call fcn.0044eaa0
push eax
mov ecx, 0x4b0ce8
call fcn.0040bcc0
mov ebp, dword [esp + 0x20]
jmp 0x45cfae
fstp st(0)
fstp st(0)
fld dword [esp + 0x28]
fadd dword [0x491434]
fst dword [esp + 0x28]
fcomp dword [esp + 0x7c]
fnstsw ax
test ah, 0x41
jne 0x45c737
fld dword [esp + 0x34]
fadd dword [0x491434]
fst dword [esp + 0x34]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x45c626
mov edi, dword [esp + 0x104]
mov ebx, dword [esp + 0xec]
mov esi, dword [esp + 0xf4]
fld dword [esp + 0x3c]
fsub dword [esp + 0x30]
mov edx, dword [esp + 0xc0]
push edx
call fcn.0044eaa0
push eax
push ebx
push esi
mov ecx, 0x4b0ce8
call fcn.0040bec0
mov ecx, edi
push 0x4b0ce8
call fcn.00407f20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret 0xc