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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
push ebx
mov ebx, ecx
cmp byte [ebx + 0x75], 0
push esi
push edi
mov dword [esp + 0x10], ebx
jne 0x40e482
fld qword [ebp + 0x18]
fld qword [ebp + 8]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x40d861
fst qword [esp + 0x60]
jmp 0x40d869
fxch st(1)
fst qword [esp + 0x60]
fxch st(1)
fld qword [ebp + 0x20]
fld qword [ebp + 0x10]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x40d87e
fst qword [esp + 0x68]
jmp 0x40d886
fxch st(1)
fst qword [esp + 0x68]
fxch st(1)
fxch st(2)
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x40d895
fstp st(3)
jmp 0x40d897
fstp st(0)
fxch st(2)
fstp qword [esp + 0x70]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x40d8aa
fstp st(1)
jmp 0x40d8ac
fstp st(0)
mov eax, ebx
fstp qword [esp + 0x78]
call fcn.0040c510
mov eax, dword [ebx]
mov edx, dword [eax + 0xbc]
mov ecx, ebx
call edx
test al, al
je 0x40e482
mov eax, dword [ebx + 0xd8]
mov ecx, dword [ebx + 0xdc]
mov edx, dword [ebx + 0xe0]
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x6c]
mov esi, dword [eax + 0x20]
mov edi, dword [eax + 0x24]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0xc0]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 0xc4]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0xc8]
mov eax, dword [ebx + 0xd4]
cmp eax, 0x10
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x24], edx
jne 0x40df10
mov eax, dword [ebp + 0x28]
fld qword [ebp + 0x20]
mov ecx, dword [eax + 0xc]
fld st(0)
mov edx, dword [ebx + 0x6c]
fld qword [ebp + 0x10]
mov dword [esp + 0x4c], ecx
fsub st(1), st(0)
mov ecx, 8
fld qword [ebp + 0x18]
sub ecx, dword [edx + 0x14]
fld st(0)
mov edx, dword [eax]
fld qword [ebp + 8]
imul edx, dword [esp + 0x4c]
fsub st(1), st(0)
fld st(4)
fabs
fld st(2)
fabs
fcompp
mov dword [esp + 0x5c], edx
mov eax, 0x80808081
imul edx
add edx, dword [esp + 0x5c]
mov dword [esp + 0x3c], 1
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp + 0x28]
mov edx, dword [edx + 4]
imul edx, dword [esp + 0x4c]
sar eax, cl
mov dword [esp + 0x5c], edx
movzx ecx, ax
mov eax, dword [ebx + 0x6c]
mov dword [esp + 0x54], ecx
mov ecx, 8
sub ecx, dword [eax + 0x18]
mov eax, 0x80808081
imul edx
add edx, dword [esp + 0x5c]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp + 0x28]
mov edx, dword [edx + 8]
imul edx, dword [esp + 0x4c]
sar eax, cl
mov dword [esp + 0x5c], edx
movzx ecx, ax
mov eax, dword [ebx + 0x6c]
mov dword [esp + 0x50], ecx
mov ecx, 8
sub ecx, dword [eax + 0x1c]
mov eax, 0x80808081
imul edx
add edx, dword [esp + 0x5c]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, cl
movzx ecx, ax
mov eax, dword [ebx + 0x90]
cdq
sub eax, edx
mov dword [esp + 0x4c], ecx
mov ecx, eax
sar ecx, 1
fnstsw ax
test ah, 0x41
fldz
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
jne 0x40dca3
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x40db93
fstp st(4)
fxch st(1)
fchs
fxch st(4)
fchs
fxch st(3)
fxch st(5)
fxch st(3)
fxch st(4)
fxch st(1)
fxch st(2)
fxch st(5)
fcomp st(4)
fnstsw ax
test ah, 0x41
jne 0x40da5e
fxch st(3)
neg ecx
fchs
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x5c], ecx
fxch st(3)
fld st(2)
call fcn.005690a0
fld st(4)
mov ebx, eax
imul ebx, dword [esp + 0x58]
mov dword [esp + 0x48], eax
call fcn.005690a0
mov edx, dword [esp + 0x10]
add ebx, eax
fxch st(4)
mov eax, dword [edx + 0xa4]
lea eax, [eax + ebx*2]
movzx edx, word [esp + 0x54]
mov dword [esp + 0x38], eax
movzx eax, word [eax]
movzx eax, ax
mov ebx, eax
and ebx, dword [esp + 0x30]
mov ecx, esi
shr ebx, cl
mov ecx, dword [esp + 0x34]
add ebx, edx
movzx ecx, word [ecx + ebx*4]
mov dx, cx
mov ebx, eax
and ebx, dword [esp + 0x28]
and eax, dword [esp + 0x20]
mov ecx, esi
shl dx, cl
mov ecx, edi
shr ebx, cl
movzx ecx, word [esp + 0x50]
add ebx, ecx
mov ecx, dword [esp + 0x2c]
mov bx, word [ecx + ebx*4]
mov ecx, edi
shl bx, cl
mov ecx, dword [esp + 0x14]
shr eax, cl
or dx, bx
mov ebx, dword [esp + 0x38]
mov word [esp + 0xc], dx
movzx edx, word [esp + 0x4c]
add eax, edx
mov edx, dword [esp + 0x24]
mov ax, word [edx + eax*4]
shl ax, cl
movzx ecx, word [esp + 0xc]
or cx, ax
mov word [ebx], cx
mov ecx, dword [esp + 0x48]
fadd qword [0x5aa7f0]
add ebx, 2
mov dword [esp + 0x38], ebx
mov dword [esp + 0x1c], ecx
call fcn.005690a0
mov dword [esp + 0x18], eax
fld st(2)
fsub st(4)
fld qword [0x5ba898]
fmul st(1), st(0)
fxch st(1)
call fcn.005690a0
fmulp st(3)
mov dword [esp + 0x58], eax
fld st(2)
call fcn.005690a0
fild dword [esp + 0x48]
mov dword [esp + 0x40], eax
fsubp st(2)
fild dword [esp + 0x40]
fmulp st(2)
fxch st(2)
fsubrp st(3)
fxch st(2)
call fcn.005690a0
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
faddp st(2)
fxch st(1)
call fcn.005690a0
fild dword [esp + 0x18]
mov ecx, eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x40e46e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x40dba0
fstp st(6)
jmp 0x40da3f
mov ecx, dword [esp + 0x44]
fxch st(4)
test ecx, ecx
jle 0x40dbfd
mov eax, dword [esp + 0x5c]
fxch st(4)
add ecx, dword [esp + 0x58]
fcom st(3)
mov edx, dword [esp + 0x3c]
add dword [esp + 0x1c], edx
lea ebx, [ebx + eax*2]
fnstsw ax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x38], ebx
test ah, 5
jnp 0x40dc9c
fild dword [esp + 0x1c]
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x40e45a
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x40dc9c
fcomp st(4)
fnstsw ax
test ah, 0x41
je 0x40e468
jmp 0x40dc07
add ecx, dword [esp + 0x40]
fstp st(4)
mov dword [esp + 0x44], ecx
movzx eax, word [ebx]
movzx eax, ax
mov edx, eax
and edx, dword [esp + 0x30]
mov ecx, esi
shr edx, cl
movzx ecx, word [esp + 0x54]
add edx, ecx
mov ecx, dword [esp + 0x34]
movzx ecx, word [ecx + edx*4]
mov dx, cx
mov ebx, eax
and ebx, dword [esp + 0x28]
and eax, dword [esp + 0x20]
add dword [esp + 0x18], 1
mov ecx, esi
shl dx, cl
fild dword [esp + 0x18]
mov ecx, edi
shr ebx, cl
movzx ecx, word [esp + 0x50]
fcom st(5)
add ebx, ecx
mov ecx, dword [esp + 0x2c]
mov bx, word [ecx + ebx*4]
mov ecx, edi
shl bx, cl
mov ecx, dword [esp + 0x14]
shr eax, cl
or dx, bx
mov ebx, dword [esp + 0x38]
mov word [esp + 0xc], dx
movzx edx, word [esp + 0x4c]
add eax, edx
mov edx, dword [esp + 0x24]
mov ax, word [edx + eax*4]
shl ax, cl
movzx ecx, word [esp + 0xc]
or cx, ax
mov word [ebx], cx
fnstsw ax
add ebx, 2
test ah, 0x41
mov dword [esp + 0x38], ebx
jnp 0x40db9a
fstp st(0)
jmp 0x40e468
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x40de17
fstp st(1)
fxch st(1)
fchs
fxch st(4)
fchs
fxch st(3)
fxch st(5)
fxch st(3)
fxch st(4)
fxch st(1)
fxch st(2)
fxch st(2)
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40dcdb
fchs
mov dword [esp + 0x3c], 0xffffffff
fld st(1)
call fcn.005690a0
fld st(2)
mov dword [esp + 0xc], eax
call fcn.005690a0
imul eax, dword [ebx + 0x90]
fxch st(2)
mov ecx, dword [ebx + 0xa4]
cdq
sub eax, edx
movzx edx, word [esp + 0x4c]
sar eax, 1
add eax, dword [esp + 0xc]
mov dword [esp + 0x4c], edx
lea eax, [ecx + eax*2]
movzx ecx, word [esp + 0x50]
movzx edx, word [esp + 0x54]
mov dword [esp + 0x38], eax
movzx eax, word [eax]
movzx eax, ax
mov ebx, eax
and ebx, dword [esp + 0x30]
mov dword [esp + 0x5c], ecx
mov ecx, esi
shr ebx, cl
mov dword [esp + 0x50], edx
add ebx, edx
mov edx, dword [esp + 0x34]
mov dx, word [edx + ebx*4]
mov ebx, eax
and ebx, dword [esp + 0x28]
and eax, dword [esp + 0x20]
shl dx, cl
mov ecx, edi
shr ebx, cl
mov ecx, dword [esp + 0x2c]
add ebx, dword [esp + 0x5c]
mov bx, word [ecx + ebx*4]
mov ecx, edi
shl bx, cl
mov ecx, dword [esp + 0x14]
shr eax, cl
or dx, bx
mov ebx, dword [esp + 0x24]
add eax, dword [esp + 0x4c]
mov ax, word [ebx + eax*4]
mov ebx, dword [esp + 0x38]
shl ax, cl
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], ecx
or dx, ax
mov eax, dword [esp + 0x58]
mov word [ebx], dx
fadd qword [0x5aa7f0]
add eax, eax
add ebx, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], ebx
call fcn.005690a0
fld st(1)
fsub st(3)
mov dword [esp + 0x1c], eax
fld qword [0x5ba898]
fmul st(1), st(0)
fxch st(1)
call fcn.005690a0
fmulp st(2)
mov dword [esp + 0x58], eax
fld st(1)
call fcn.005690a0
fisub dword [esp + 0xc]
mov dword [esp + 0x40], eax
fimul dword [esp + 0x40]
fxch st(1)
fsubrp st(2)
fxch st(1)
call fcn.005690a0
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
faddp st(1)
call fcn.005690a0
fild dword [esp + 0x1c]
mov ecx, eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x40e46e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x40de24
fstp st(3)
jmp 0x40dcc6
mov ecx, dword [esp + 0x44]
fxch st(4)
test ecx, ecx
mov eax, dword [esp + 0x3c]
jle 0x40de7f
add dword [esp + 0x18], eax
fild dword [esp + 0x18]
add ecx, dword [esp + 0x58]
lea ebx, [ebx + eax*2]
mov dword [esp + 0x44], ecx
fcom st(4)
mov dword [esp + 0x38], ebx
fnstsw ax
test ah, 5
jnp 0x40e460
fxch st(5)
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x40e464
fxch st(5)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x40e466
fcom st(4)
fnstsw ax
fstp st(4)
test ah, 5
jnp 0x40e468
jmp 0x40de89
add ecx, dword [esp + 0x40]
fstp st(4)
mov dword [esp + 0x44], ecx
movzx eax, word [ebx]
movzx eax, ax
mov edx, eax
and edx, dword [esp + 0x30]
mov ecx, esi
shr edx, cl
mov ecx, dword [esp + 0x34]
add dword [esp + 0x1c], 1
mov ebx, eax
add edx, dword [esp + 0x50]
and ebx, dword [esp + 0x28]
fild dword [esp + 0x1c]
mov dx, word [ecx + edx*4]
and eax, dword [esp + 0x20]
mov ecx, esi
fcom st(5)
shl dx, cl
mov ecx, edi
shr ebx, cl
mov ecx, dword [esp + 0x2c]
add ebx, dword [esp + 0x5c]
mov bx, word [ecx + ebx*4]
mov ecx, edi
shl bx, cl
mov ecx, dword [esp + 0x14]
shr eax, cl
or dx, bx
mov ebx, dword [esp + 0x24]
add eax, dword [esp + 0x4c]
mov ax, word [ebx + eax*4]
mov ebx, dword [esp + 0x38]
shl ax, cl
or dx, ax
fnstsw ax
mov word [ebx], dx
add ebx, dword [esp + 0x48]
test ah, 0x41
mov dword [esp + 0x38], ebx
jnp 0x40de1e
fstp st(0)
jmp 0x40e468
cmp eax, 0x20
jne 0x40e476
mov eax, dword [ebp + 0x28]
fld qword [ebp + 0x20]
mov ecx, dword [eax + 0xc]
fld st(0)
mov edx, dword [ebx + 0x6c]
fld qword [ebp + 0x10]
mov dword [esp + 0x58], ecx
fsub st(1), st(0)
mov ecx, 8
fld qword [ebp + 0x18]
sub ecx, dword [edx + 0x14]
fld st(0)
mov edx, dword [eax]
fld qword [ebp + 8]
imul edx, dword [esp + 0x58]
fsub st(1), st(0)
fld st(4)
fabs
fld st(2)
fabs
fcompp
mov dword [esp + 0x5c], edx
mov eax, 0x80808081
imul edx
add edx, dword [esp + 0x5c]
mov dword [esp + 0x40], 1
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp + 0x28]
mov edx, dword [edx + 4]
imul edx, dword [esp + 0x58]
sar eax, cl
mov dword [esp + 0x5c], edx
mov ecx, 8
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x6c]
sub ecx, dword [eax + 0x18]
mov eax, 0x80808081
imul edx
add edx, dword [esp + 0x5c]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp + 0x28]
mov edx, dword [edx + 8]
imul edx, dword [esp + 0x58]
sar eax, cl
mov dword [esp + 0x5c], edx
mov ecx, 8
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x6c]
sub ecx, dword [eax + 0x1c]
mov eax, 0x80808081
imul edx
add edx, dword [esp + 0x5c]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, cl
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x90]
cdq
and edx, 3
add eax, edx
mov ecx, eax
fnstsw ax
sar ecx, 2
test ah, 0x41
fldz
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
jne 0x40e232
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x40e144
fstp st(4)
fxch st(1)
fchs
fxch st(4)
fchs
fxch st(3)
fxch st(5)
fxch st(3)
fxch st(4)
fxch st(1)
fxch st(2)
fxch st(5)
fcomp st(4)
fnstsw ax
test ah, 0x41
jne 0x40e04c
fxch st(3)
neg ecx
fchs
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x5c], ecx
fxch st(3)
fxch st(2)
call fcn.005690a0
fld st(3)
mov ebx, eax
imul ebx, dword [esp + 0x58]
mov dword [esp + 0x48], eax
call fcn.005690a0
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0xa4]
fxch st(3)
mov ecx, dword [esp + 0x14]
add ebx, eax
lea eax, [edx + ebx*4]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x44], eax
mov eax, dword [eax]
mov edx, eax
and edx, dword [esp + 0x20]
shr edx, cl
add edx, dword [esp + 0x3c]
mov edx, dword [ebx + edx*4]
shl edx, cl
mov ebx, eax
and ebx, dword [esp + 0x28]
and eax, dword [esp + 0x30]
mov ecx, edi
shr ebx, cl
mov ecx, dword [esp + 0x2c]
add ebx, dword [esp + 0x38]
mov ebx, dword [ecx + ebx*4]
mov ecx, edi
shl ebx, cl
mov ecx, esi
shr eax, cl
mov ecx, dword [esp + 0x34]
or edx, ebx
mov ebx, dword [esp + 0x44]
add eax, dword [esp + 0x4c]
add ebx, 4
mov eax, dword [ecx + eax*4]
mov ecx, esi
shl eax, cl
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x18], ecx
or edx, eax
mov dword [ebx - 4], edx
fadd qword [0x5aa7f0]
call fcn.005690a0
fld st(1)
fld qword [0x5ba898]
mov dword [esp + 0x1c], eax
fmul st(1), st(0)
fld st(1)
fsub st(3)
call fcn.005690a0
fxch st(3)
fsubrp st(2)
mov dword [esp + 0xc], eax
fxch st(1)
fmulp st(2)
fxch st(1)
call fcn.005690a0
mov dword [esp + 0x58], eax
call fcn.005690a0
fild dword [esp + 0x1c]
mov dword [esp + 0x54], eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x40e46e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x40e14d
fstp st(6)
jmp 0x40e02d
fxch st(4)
mov eax, dword [esp + 0xc]
test eax, eax
mov ecx, dword [esp + 0x14]
jle 0x40e1b2
add eax, dword [esp + 0x58]
fxch st(4)
mov edx, dword [esp + 0x40]
fcom st(3)
add dword [esp + 0x18], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x5c]
lea ebx, [ebx + eax*4]
fnstsw ax
mov dword [esp + 0x44], ebx
test ah, 5
jnp 0x40dc9c
fild dword [esp + 0x18]
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x40e45a
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x40dc9c
fcomp st(4)
fnstsw ax
test ah, 0x41
je 0x40e468
jmp 0x40e1bc
add eax, dword [esp + 0x54]
fstp st(4)
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov ebx, dword [esp + 0x24]
mov edx, eax
and edx, dword [esp + 0x20]
add dword [esp + 0x1c], 1
shr edx, cl
fild dword [esp + 0x1c]
fcom st(5)
add edx, dword [esp + 0x3c]
mov edx, dword [ebx + edx*4]
shl edx, cl
mov ebx, eax
and ebx, dword [esp + 0x28]
and eax, dword [esp + 0x30]
mov ecx, edi
shr ebx, cl
mov ecx, dword [esp + 0x2c]
add ebx, dword [esp + 0x38]
mov ebx, dword [ecx + ebx*4]
mov ecx, edi
shl ebx, cl
mov ecx, esi
shr eax, cl
mov ecx, dword [esp + 0x34]
or edx, ebx
mov ebx, dword [esp + 0x44]
add eax, dword [esp + 0x4c]
add ebx, 4
mov eax, dword [ecx + eax*4]
mov ecx, esi
shl eax, cl
mov dword [esp + 0x44], ebx
or edx, eax
fnstsw ax
mov dword [ebx - 4], edx
test ah, 0x41
jnp 0x40e14b
fstp st(0)
jmp 0x40e468
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x40e371
fstp st(1)
fxch st(1)
fchs
fxch st(4)
fchs
fxch st(3)
fxch st(5)
fxch st(3)
fxch st(4)
fxch st(1)
fxch st(2)
fxch st(2)
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40e26a
fchs
mov dword [esp + 0x40], 0xffffffff
fxch st(1)
call fcn.005690a0
fld st(1)
mov dword [esp + 0xc], eax
call fcn.005690a0
imul eax, dword [ebx + 0x90]
fxch st(1)
mov ecx, dword [ebx + 0xa4]
cdq
and edx, 3
add eax, edx
mov ebx, dword [esp + 0x24]
sar eax, 2
add eax, dword [esp + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov eax, dword [eax]
mov edx, eax
and edx, dword [esp + 0x20]
shr edx, cl
add edx, dword [esp + 0x3c]
mov edx, dword [ebx + edx*4]
mov ebx, eax
and ebx, dword [esp + 0x28]
and eax, dword [esp + 0x30]
shl edx, cl
mov ecx, edi
shr ebx, cl
mov ecx, dword [esp + 0x2c]
add ebx, dword [esp + 0x38]
mov ebx, dword [ecx + ebx*4]
mov ecx, edi
shl ebx, cl
mov ecx, esi
shr eax, cl
mov ecx, dword [esp + 0x34]
or edx, ebx
mov ebx, dword [esp + 0x44]
add eax, dword [esp + 0x4c]
mov eax, dword [ecx + eax*4]
mov ecx, esi
shl eax, cl
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1c], ecx
or edx, eax
mov eax, dword [esp + 0x58]
add eax, eax
mov dword [ebx], edx
fadd qword [0x5aa7f0]
add eax, eax
add ebx, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], ebx
call fcn.005690a0
fld st(0)
fld qword [0x5ba898]
mov dword [esp + 0x18], eax
fmul st(1), st(0)
fld st(1)
fsub st(4)
call fcn.005690a0
fxch st(2)
fsubrp st(3)
mov dword [esp + 0xc], eax
fxch st(2)
fmulp st(1)
call fcn.005690a0
mov dword [esp + 0x58], eax
call fcn.005690a0
fild dword [esp + 0x18]
mov dword [esp + 0x54], eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x40e46e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x40e37a
fstp st(3)
jmp 0x40e255
fxch st(4)
mov eax, dword [esp + 0xc]
test eax, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
jle 0x40e3dd
add dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
add eax, dword [esp + 0x58]
lea ebx, [ebx + edx*4]
mov dword [esp + 0xc], eax
fcom st(4)
mov dword [esp + 0x44], ebx
fnstsw ax
test ah, 5
jnp 0x40e460
fxch st(5)
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x40e464
fxch st(5)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x40e466
fcom st(4)
fnstsw ax
fstp st(4)
test ah, 5
jnp 0x40e468
jmp 0x40e3e7
add eax, dword [esp + 0x54]
fstp st(4)
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov ebx, dword [esp + 0x24]
mov edx, eax
and edx, dword [esp + 0x20]
add dword [esp + 0x18], 1
shr edx, cl
fild dword [esp + 0x18]
fcom st(5)
add edx, dword [esp + 0x3c]
mov edx, dword [ebx + edx*4]
shl edx, cl
mov ebx, eax
and ebx, dword [esp + 0x28]
and eax, dword [esp + 0x30]
mov ecx, edi
shr ebx, cl
mov ecx, dword [esp + 0x2c]
add ebx, dword [esp + 0x38]
mov ebx, dword [ecx + ebx*4]
mov ecx, edi
shl ebx, cl
mov ecx, esi
shr eax, cl
mov ecx, dword [esp + 0x34]
or edx, ebx
mov ebx, dword [esp + 0x44]
add eax, dword [esp + 0x4c]
mov eax, dword [ecx + eax*4]
mov ecx, esi
shl eax, cl
or edx, eax
fnstsw ax
mov dword [ebx], edx
add ebx, dword [esp + 0x5c]
test ah, 0x41
mov dword [esp + 0x44], ebx
jnp 0x40e378
fstp st(0)
jmp 0x40e468
fstp st(1)
fstp st(0)
jmp 0x40e468
fstp st(5)
jmp 0x40e466
fstp st(0)
fstp st(4)
fstp st(3)
fstp st(2)
fstp st(1)
mov ebx, dword [esp + 0x10]
fstp st(0)
fstp st(0)
mov edx, dword [ebx]
mov eax, dword [edx + 0xc0]
mov ecx, ebx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24