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

Disassembly:
sub esp, 0xec
push ebx
push ebp
mov ebp, dword [esp + 0xf8]
push esi
mov esi, ecx
push edi
fld dword [ebp]
fsub dword [esi + 8]
fld dword [ebp + 4]
fsub dword [esi + 0xc]
lea ebx, [esi + 8]
mov edi, edx
fld dword [ebp + 8]
fsub dword [esi + 0x10]
mov eax, ebx
mov dword [esp + 0x38], esi
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
mov ecx, dword [eax]
mov dword [esp + 0x48], ecx
mov ecx, ebp
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, edi
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
fdivr qword [0x491960]
fstp dword [esp + 0xec]
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, edi
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 [edi + 0x24]
fld st(1)
fmul dword [edi + 0x2c]
faddp st(1)
fld st(2)
fmul dword [edi + 0x28]
sub esp, 0xc
mov ecx, esp
faddp st(1)
fstp dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
fld st(0)
fmul dword [edi + 0x14]
fld st(2)
fmul dword [edi + 0x10]
mov dword [ecx], edx
faddp st(1)
fld st(3)
fmul dword [edi + 0xc]
faddp st(1)
fstp dword [esp + 0x20]
fxch st(2)
fmul dword [edi + 0x18]
fxch st(2)
fmul dword [edi + 0x20]
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], eax
lea eax, [esp + 0x60]
faddp st(2)
push eax
fmul dword [edi + 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, ebx
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, edi
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 [ebx]
mov edx, dword [ebx + 4]
mov dword [esp + 0x48], ecx
mov ecx, dword [ebp]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x4c], edx
fld dword [esp + 0x10]
fsub dword [esp + 0x48]
mov edx, dword [ebp + 4]
mov dword [esp + 0x74], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x14], edx
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 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 + 0x94]
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, edi
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, edi
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 + 0x8c]
fld dword [esp + 0x18]
fadd dword [esp + 0x5c]
mov dword [esp + 0x18], edx
fstp dword [esp + 0x90]
fsub dword [esp + 0x10]
fld dword [esp + 0x8c]
fsub dword [esp + 0x14]
fld dword [esp + 0x90]
fsub dword [esp + 0x18]
fld st(2)
fmul dword [edi + 0x24]
fld st(1)
fmul dword [edi + 0x2c]
faddp st(1)
fld st(2)
fmul dword [edi + 0x28]
faddp st(1)
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
sub esp, 0xc
fld st(0)
fmul dword [edi + 0x14]
fld st(2)
fmul dword [edi + 0x10]
mov eax, esp
faddp st(1)
fld st(3)
fmul dword [edi + 0xc]
mov dword [eax], ecx
faddp st(1)
fstp dword [esp + 0x20]
fxch st(2)
fmul dword [edi + 0x18]
fxch st(2)
fmul dword [edi + 0x20]
mov edx, dword [esp + 0x20]
mov dword [eax + 4], edx
lea edx, [esp + 0x94]
faddp st(2)
push edx
fmul dword [edi + 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 [esi + 0x8c]
mov edx, dword [eax + 4]
mov dword [esp + 0x54], ecx
fmul dword [0x491a24]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0x88]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x44], eax
fstp dword [esp + 0xf4]
fld dword [esp + 0x6c]
fsub dword [esp + 0x44]
mov dword [esp + 0x58], edx
mov edx, dword [esi + 0x24]
mov dword [esp + 0x70], edx
xor eax, eax
mov dword [esi + 0xd8], eax
mov dword [esi + 0xd4], eax
fstp dword [esp + 0x2c]
fld dword [esp + 0x6c]
fadd dword [esp + 0x44]
mov dword [esi + 0xd0], eax
mov dword [esi + 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 + 0x34]
fld dword [esp + 0x2c]
fcomp dword [0x4917a8]
fnstsw ax
test ah, 0x41
je 0x460379
fld dword [esp + 0x3c]
fcomp dword [0x49144c]
fnstsw ax
test ah, 1
jne 0x460379
fld dword [esp + 0x1c]
fcomp dword [0x4918a4]
fnstsw ax
test ah, 0x41
je 0x460379
fld dword [esp + 0x34]
fcomp dword [0x49144c]
fnstsw ax
test ah, 1
jne 0x460379
fld dword [esp + 0x2c]
fcomp dword [0x49144c]
fnstsw ax
test ah, 0x41
jne 0x45f75d
fld dword [esp + 0x2c]
jmp 0x45f763
fld dword [0x49144c]
call fcn.0044eaa0
mov dword [esp + 0x40], eax
mov dword [esi + 0xcc], eax
fild dword [esp + 0x40]
fstp dword [esp + 0x2c]
fld dword [esp + 0x3c]
fcomp dword [0x4917a8]
fnstsw ax
test ah, 1
jne 0x45f793
mov dword [esp + 0x3c], 0x4447c000
fld dword [esp + 0x3c]
fadd dword [0x491434]
call fcn.0044eaa0
fld dword [esp + 0x1c]
fcomp dword [0x49144c]
mov dword [esi + 0xd4], eax
fnstsw ax
test ah, 0x41
jne 0x45f7bf
fld dword [esp + 0x1c]
jmp 0x45f7c5
fld dword [0x49144c]
call fcn.0044eaa0
mov dword [esp + 0x40], eax
mov dword [esi + 0xd0], eax
fild dword [esp + 0x40]
fstp dword [esp + 0x1c]
fld dword [esp + 0x34]
fcomp dword [0x4918a4]
fnstsw ax
test ah, 1
jne 0x45f7f5
mov dword [esp + 0x34], 0x4415c000
fld dword [esp + 0x34]
fadd dword [0x491434]
fst dword [esp + 0x28]
call fcn.0044eaa0
push esi
mov ecx, edi
mov dword [esi + 0xd8], eax
call fcn.004334b0
fld dword [esi + 0x10]
fsub dword [0x491434]
fcom dword [0x491434]
fnstsw ax
test ah, 1
jne 0x45f839
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x80], ecx
jmp 0x45f875
fcom dword [0x491508]
fnstsw ax
test ah, 1
je 0x45f852
fld dword [esp + 0x1c]
fsub dword [0x491434]
jmp 0x45f86e
fld dword [esp + 0x34]
fsub dword [esp + 0x1c]
fld st(1)
fadd dword [0x491434]
fmulp st(1)
fmul dword [0x4914c8]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x80]
fadd dword [0x491434]
fst dword [esp + 0x20]
fcomp dword [0x491434]
fnstsw ax
test ah, 1
jne 0x45f896
mov edx, dword [esp + 0x28]
mov dword [esp + 0x7c], edx
jmp 0x45f8d5
fld dword [esp + 0x20]
fcomp dword [0x491508]
fnstsw ax
test ah, 1
je 0x45f8b3
fld dword [esp + 0x1c]
fsub dword [0x491434]
jmp 0x45f8d1
fld dword [esp + 0x34]
fsub dword [esp + 0x1c]
fld dword [esp + 0x20]
fadd dword [0x491434]
fmulp st(1)
fmul dword [0x4914c8]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x7c]
fld dword [esp + 0x2c]
call fcn.0044eaa0
mov ebx, dword [esp + 0x108]
mov edi, eax
fld dword [esp + 0x1c]
mov dword [esp + 0xf8], edi
mov dword [ebx + 8], edi
call fcn.0044eaa0
fld dword [esp + 0x34]
fsub dword [esp + 0x1c]
mov ebp, eax
mov dword [esp + 0xf0], ebp
mov dword [ebx + 0xc], ebp
call fcn.0044eaa0
mov dword [esp + 0xc4], eax
inc eax
push eax
mov ecx, 0x4b0ce8
call fcn.0040bd90
fld dword [0x491434]
fdiv dword [esp + 0x44]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
fstp dword [esp + 0xac]
fld dword [esp + 0x2c]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
je 0x46034b
fld dword [esp + 0x30]
fsub dword [esp + 0x6c]
fmul dword [esp + 0xac]
fst dword [esp + 0x28]
fmul dword [esp + 0x28]
fst dword [esp + 0xa8]
fcomp dword [0x491434]
fnstsw ax
test ah, 0x41
je 0x460319
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x104]
mov dword [esp + 0x84], ecx
xor ecx, ecx
cmp eax, ecx
je 0x45fa05
mov edx, dword [0x49e7d8]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], edx
fild qword [esp + 0x60]
fcomp dword [esp + 0x30]
fnstsw ax
test ah, 0x41
je 0x460319
mov eax, dword [0x49e7dc]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
fild qword [esp + 0x48]
fcomp dword [esp + 0x30]
fnstsw ax
test ah, 1
jne 0x460319
fld dword [esp + 0x30]
call fcn.0044eaa0
fld dword [esp + 0x34]
fcomp dword [eax*4 + 0x49e7e0]
lea ecx, [eax*4 + 0x49e7e0]
fnstsw ax
test ah, 0x41
jne 0x45fa05
mov ecx, dword [ecx]
mov dword [esp + 0x84], ecx
fld dword [esp + 0x28]
fmul dword [esi + 0x64]
fstp dword [esp + 0xe4]
fld dword [esp + 0x30]
call fcn.0044eaa0
fld dword [esp + 0x98]
fmul dword [esp + 0x28]
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x1c]
and eax, 3
mov dword [esp + 0x24], edx
shl eax, 2
fstp dword [esp + 0xd4]
fld dword [esp + 0x54]
fmul dword [esp + 0x28]
mov dword [esp + 0xb4], eax
fstp dword [esp + 0xe8]
fld dword [esp + 0x1c]
fcomp dword [esp + 0x84]
fnstsw ax
test ah, 0x41
je 0x460319
fld dword [esp + 0x70]
fsub dword [esp + 0x24]
fmul dword [esp + 0xac]
fld st(0)
fmul st(1)
fadd dword [esp + 0xa8]
fcom dword [0x491434]
fnstsw ax
test ah, 0x41
je 0x4602f5
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 + 0x20]
fmul dword [esi + 0x68]
fld st(1)
fmul dword [esi + 0x6c]
add esi, 0x94
mov eax, esi
faddp st(1)
mov edi, dword [eax]
fadd dword [esp + 0xe4]
mov ebx, dword [eax + 4]
mov ebp, dword [eax + 8]
fstp dword [esp + 0xb0]
fld dword [esp + 0xb0]
fabs
fcom dword [0x4914f0]
fnstsw ax
test ah, 0x41
je 0x45fb18
mov esi, dword [esp + 0x38]
lea ecx, [esi + 0xa0]
mov edi, dword [esi + 0xa0]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx + 8]
jmp 0x45fc1f
fcom dword [0x491a2c]
fnstsw ax
test ah, 0x41
je 0x45fb88
fld st(0)
fsub dword [0x4914f0]
mov ebp, dword [esp + 0x38]
fmul dword [0x491a28]
fld dword [0x49143c]
fsub st(1)
fild dword [esi]
fmul st(2)
fild dword [ebp + 0xa0]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [ebp + 0xa4]
mov edi, eax
fmul st(1)
fild dword [esi + 4]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [ebp + 0xa8]
mov ebx, eax
fmul st(1)
fild dword [esi + 8]
fmul st(3)
jmp 0x45fc08
fcom dword [0x491a20]
fnstsw ax
test ah, 0x41
jne 0x45fc1b
fcom dword [0x491720]
fnstsw ax
test ah, 0x41
je 0x45fc1b
fld dword [0x491a1c]
fsub st(1)
fabs
fmul dword [0x491744]
fmul dword [0x49143c]
fld dword [0x49143c]
fsub st(1)
fild dword [0x4957c8]
fmul st(1)
fild dword [esi]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esi + 4]
mov edi, eax
fmul st(2)
fild dword [0x4957cc]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esi + 8]
mov ebx, eax
fmul st(2)
fild dword [0x4957d0]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fstp st(0)
fstp st(0)
mov ebp, eax
mov esi, dword [esp + 0x38]
mov eax, dword [esi + 0x90]
cmp eax, 0xffffffff
mov dword [esp + 0xa4], eax
je 0x45ffcd
fcomp qword [0x491a10]
fnstsw ax
test ah, 0x41
jne 0x45ffcf
fld dword [esp + 0x20]
fmul dword [esi + 0x74]
fld st(1)
fmul dword [esi + 0x78]
faddp st(1)
fld dword [esp + 0x28]
fmul dword [esi + 0x70]
faddp st(1)
fst dword [esp + 0x94]
fcomp dword [0x491a0c]
fnstsw ax
test ah, 1
jne 0x45ffcf
fld dword [esp + 0x94]
fcomp dword [0x4914c8]
fnstsw ax
test ah, 1
je 0x45ffcf
fld dword [esp + 0x20]
fmul dword [esi + 0x80]
fld st(1)
fmul dword [esi + 0x84]
faddp st(1)
fld dword [esp + 0x28]
fmul dword [esi + 0x7c]
faddp st(1)
fst dword [esp + 0x78]
fcomp dword [0x491a0c]
fnstsw ax
test ah, 1
jne 0x45ffcf
fld dword [esp + 0x78]
fcomp dword [0x4914c8]
fnstsw ax
test ah, 1
je 0x45ffcf
fld dword [esp + 0x94]
fmul dword [0x491a08]
call fcn.0044eaa0
fld dword [esp + 0x78]
fmul dword [0x491a04]
mov edi, 0x20
sub edi, eax
call fcn.0044eaa0
fld dword [esp + 0xb0]
fcomp dword [0x49144c]
mov ecx, eax
fnstsw ax
test ah, 0x41
jne 0x45fd14
neg ecx
fld dword [esi + 0x8c]
fcomp dword [0x491524]
mov esi, dword [esp + 0xa4]
add ecx, 0x20
mov edx, dword [esi*8 + 0x516370]
fnstsw ax
test ah, 1
je 0x45fe7b
test edx, edx
je 0x45fd99
mov ebx, ecx
and ebx, 0x8000003f
jns 0x45fd4f
dec ebx
or ebx, 0xffffffc0
inc ebx
mov eax, 0x3f
sub eax, ebx
mov ebx, edi
shl eax, 6
and ebx, 0x8000003f
jns 0x45fd68
dec ebx
or ebx, 0xffffffc0
inc ebx
mov ebp, dword [edx + 0x14]
add eax, ebx
mov ebx, dword [edx]
xor edx, edx
lea eax, [eax + eax*2]
add eax, ebp
add eax, ebx
mov dl, byte [eax]
inc eax
mov dword [esp + 0xd0], edx
xor edx, edx
mov dl, byte [eax]
mov dword [esp + 0xcc], edx
xor edx, edx
mov dl, byte [eax + 1]
mov dword [esp + 0xc8], edx
mov edx, dword [esi*8 + 0x516374]
test edx, edx
je 0x45fdfa
and ecx, 0x8000003f
jns 0x45fdb1
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, 0x3f
sub eax, ecx
shl eax, 6
and edi, 0x8000003f
jns 0x45fdc8
dec edi
or edi, 0xffffffc0
inc edi
mov esi, dword [edx]
add eax, edi
mov edi, dword [edx + 0x14]
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 + 0xc0], ecx
inc eax
xor ecx, ecx
mov dword [esp + 0xbc], edx
mov cl, byte [eax + 1]
mov dword [esp + 0xb8], ecx
fld dword [esp + 0x20]
fmul dword [esp + 0xf4]
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 + 0xb8]
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]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0xc0]
mov ebx, eax
fmul st(1)
fild dword [esp + 0xd0]
jmp 0x45ffb6
test edx, edx
je 0x45fed8
mov ebx, ecx
and ebx, 0x8000003f
jns 0x45fe8e
dec ebx
or ebx, 0xffffffc0
inc ebx
mov eax, 0x3f
sub eax, ebx
mov ebx, edi
shl eax, 6
and ebx, 0x8000003f
jns 0x45fea7
dec ebx
or ebx, 0xffffffc0
inc ebx
mov ebp, dword [edx + 0x14]
add eax, ebx
mov ebx, dword [edx]
xor edx, edx
lea eax, [eax + eax*2]
add eax, ebp
add eax, ebx
mov dl, byte [eax]
inc eax
mov dword [esp + 0x90], edx
xor edx, edx
mov dl, byte [eax]
mov dword [esp + 0x8c], edx
xor edx, edx
mov dl, byte [eax + 1]
mov dword [esp + 0x88], edx
mov edx, dword [esi*8 + 0x516374]
test edx, edx
je 0x45ff39
and ecx, 0x8000003f
jns 0x45fef0
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, 0x3f
sub eax, ecx
shl eax, 6
and edi, 0x8000003f
jns 0x45ff07
dec edi
or edi, 0xffffffc0
inc edi
mov esi, dword [edx]
add eax, edi
mov edi, dword [edx + 0x14]
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 + 0xe0], ecx
inc eax
xor ecx, ecx
mov dword [esp + 0xdc], edx
mov cl, byte [eax + 1]
mov dword [esp + 0xd8], ecx
fld dword [esp + 0x20]
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 + 0xd8]
fmul st(1)
fild dword [esp + 0x88]
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 + 0x8c]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0xe0]
mov ebx, eax
fmul st(1)
fild dword [esp + 0x90]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fstp st(0)
fstp st(0)
mov ebp, eax
jmp 0x45ffcf
fstp st(0)
fld dword [esp + 0x9c]
fmul dword [esp + 0x20]
fld dword [esp + 0xa0]
fmul st(2)
faddp st(1)
fadd dword [esp + 0xd4]
fmul dword [esp + 0xec]
fcom dword [0x49144c]
fnstsw ax
test ah, 1
je 0x460009
fstp st(0)
mov ecx, 0x46
jmp 0x460028
fmul dword [0x491944]
call fcn.0044eaa0
mov ecx, 0x46
sub ecx, eax
cmp ecx, 0xff
jle 0x460028
mov ecx, 0xff
fld dword [esp + 0x44]
imul edi, ecx
fcomp dword [0x4914e0]
fnstsw ax
imul ebx, ecx
imul ebp, ecx
mov esi, edi
mov edi, ebx
mov ebx, ebp
mov dword [esp + 0x10], esi
test ah, 0x41
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebx
jne 0x460099
fld dword [esp + 0x24]
call fcn.0044eaa0
mov ecx, dword [esp + 0xb4]
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
fstp st(0)
mov ebx, eax
mov ecx, dword [esp + 0x38]
sar esi, 8
fld dword [ecx + 0xe4]
fcomp dword [0x49144c]
sar edi, 8
sar ebx, 8
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
fnstsw ax
mov dword [esp + 0x18], ebx
test ah, 0x41
jne 0x46014a
fld dword [ecx + 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 + 0x20]
fld dword [esp + 0x5c]
fmul st(2)
faddp st(1)
fadd dword [esp + 0xe8]
fstp st(1)
fcom dword [0x49193c]
fnstsw ax
test ah, 0x41
jne 0x4601ef
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 0x4601f1
fstp st(0)
fld dword [esp + 0x24]
fcomp dword [esp + 0x80]
fnstsw ax
test ah, 0x41
jne 0x46021f
fld dword [esp + 0x24]
call fcn.0044eaa0
mov ecx, dword [esp + 0x40]
mov edx, eax
call fcn.0042f660
test eax, eax
jne 0x4602ef
fld dword [esp + 0x24]
fcomp dword [esp + 0x7c]
fnstsw ax
test ah, 0x41
jne 0x46024c
fld dword [esp + 0x24]
push 0xffffffffffffffff
call fcn.0044eaa0
mov ecx, dword [esp + 0x44]
mov edx, eax
call fcn.0042efa0
test eax, eax
je 0x4602ef
fld dword [esp + 0x20]
fcomp qword [0x491930]
fnstsw ax
test ah, 0x41
jne 0x4602b1
fld dword [esp + 0x20]
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 + 0x28]
fsub dword [esp + 0x20]
push eax
call fcn.0044eaa0
fld dword [esp + 0x38]
fsub dword [esp + 0x34]
push eax
call fcn.0044eaa0
push eax
mov ecx, 0x4b0ce8
call fcn.0040bd20
mov esi, dword [esp + 0x38]
jmp 0x4602f9
fld dword [esp + 0x24]
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 + 0x34]
fsub dword [esp + 0x30]
push eax
call fcn.0044eaa0
push eax
mov ecx, 0x4b0ce8
call fcn.0040bcc0
mov esi, dword [esp + 0x38]
jmp 0x4602f9
fstp st(0)
fstp st(0)
fld dword [esp + 0x24]
fadd dword [0x491434]
fst dword [esp + 0x24]
fcomp dword [esp + 0x84]
fnstsw ax
test ah, 0x41
jne 0x45fa6c
fld dword [esp + 0x30]
fadd dword [0x491434]
fst dword [esp + 0x30]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x45f952
mov ebx, dword [esp + 0x108]
mov ebp, dword [esp + 0xf0]
mov edi, dword [esp + 0xf8]
fld dword [esp + 0x3c]
fsub dword [esp + 0x2c]
mov edx, dword [esp + 0xc4]
push edx
call fcn.0044eaa0
push eax
push ebp
push edi
mov ecx, 0x4b0ce8
call fcn.0040bec0
mov ecx, ebx
push 0x4b0ce8
call fcn.00407f20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret 0xc