Function at 0x40d850
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 0x40e4a2
fld qword [ebp + 0x18]
fld qword [ebp + 8]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x40d881
fst qword [esp + 0x60]
jmp 0x40d889
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 0x40d89e
fst qword [esp + 0x68]
jmp 0x40d8a6
fxch st(1)
fst qword [esp + 0x68]
fxch st(1)
fxch st(2)
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x40d8b5
fstp st(3)
jmp 0x40d8b7
fstp st(0)
fxch st(2)
fstp qword [esp + 0x70]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x40d8ca
fstp st(1)
jmp 0x40d8cc
fstp st(0)
mov eax, ebx
fstp qword [esp + 0x78]
call fcn.0040c530
mov eax, dword [ebx]
mov edx, dword [eax + 0xbc]
mov ecx, ebx
call edx
test al, al
je 0x40e4a2
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 0x40df30
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 0x40dcc3
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x40dbb3
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 0x40da7e
fxch st(3)
neg ecx
fchs
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x5c], ecx
fxch st(3)
fld st(2)
call fcn.005b3030
fld st(4)
mov ebx, eax
imul ebx, dword [esp + 0x58]
mov dword [esp + 0x48], eax
call fcn.005b3030
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 [0x60bd40]
add ebx, 2
mov dword [esp + 0x38], ebx
mov dword [esp + 0x1c], ecx
call fcn.005b3030
mov dword [esp + 0x18], eax
fld st(2)
fsub st(4)
fld qword [0x613ec8]
fmul st(1), st(0)
fxch st(1)
call fcn.005b3030
fmulp st(3)
mov dword [esp + 0x58], eax
fld st(2)
call fcn.005b3030
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.005b3030
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
faddp st(2)
fxch st(1)
call fcn.005b3030
fild dword [esp + 0x18]
mov ecx, eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x40e48e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x40dbc0
fstp st(6)
jmp 0x40da5f
mov ecx, dword [esp + 0x44]
fxch st(4)
test ecx, ecx
jle 0x40dc1d
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 0x40dcbc
fild dword [esp + 0x1c]
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x40e47a
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x40dcbc
fcomp st(4)
fnstsw ax
test ah, 0x41
je 0x40e488
jmp 0x40dc27
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 0x40dbba
fstp st(0)
jmp 0x40e488
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x40de37
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 0x40dcfb
fchs
mov dword [esp + 0x3c], 0xffffffff
fld st(1)
call fcn.005b3030
fld st(2)
mov dword [esp + 0xc], eax
call fcn.005b3030
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 [0x60bd40]
add eax, eax
add ebx, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], ebx
call fcn.005b3030
fld st(1)
fsub st(3)
mov dword [esp + 0x1c], eax
fld qword [0x613ec8]
fmul st(1), st(0)
fxch st(1)
call fcn.005b3030
fmulp st(2)
mov dword [esp + 0x58], eax
fld st(1)
call fcn.005b3030
fisub dword [esp + 0xc]
mov dword [esp + 0x40], eax
fimul dword [esp + 0x40]
fxch st(1)
fsubrp st(2)
fxch st(1)
call fcn.005b3030
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
faddp st(1)
call fcn.005b3030
fild dword [esp + 0x1c]
mov ecx, eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x40e48e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x40de44
fstp st(3)
jmp 0x40dce6
mov ecx, dword [esp + 0x44]
fxch st(4)
test ecx, ecx
mov eax, dword [esp + 0x3c]
jle 0x40de9f
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 0x40e480
fxch st(5)
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x40e484
fxch st(5)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x40e486
fcom st(4)
fnstsw ax
fstp st(4)
test ah, 5
jnp 0x40e488
jmp 0x40dea9
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 0x40de3e
fstp st(0)
jmp 0x40e488
cmp eax, 0x20
jne 0x40e496
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 0x40e252
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x40e164
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 0x40e06c
fxch st(3)
neg ecx
fchs
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x5c], ecx
fxch st(3)
fxch st(2)
call fcn.005b3030
fld st(3)
mov ebx, eax
imul ebx, dword [esp + 0x58]
mov dword [esp + 0x48], eax
call fcn.005b3030
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 [0x60bd40]
call fcn.005b3030
fld st(1)
fld qword [0x613ec8]
mov dword [esp + 0x1c], eax
fmul st(1), st(0)
fld st(1)
fsub st(3)
call fcn.005b3030
fxch st(3)
fsubrp st(2)
mov dword [esp + 0xc], eax
fxch st(1)
fmulp st(2)
fxch st(1)
call fcn.005b3030
mov dword [esp + 0x58], eax
call fcn.005b3030
fild dword [esp + 0x1c]
mov dword [esp + 0x54], eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x40e48e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x40e16d
fstp st(6)
jmp 0x40e04d
fxch st(4)
mov eax, dword [esp + 0xc]
test eax, eax
mov ecx, dword [esp + 0x14]
jle 0x40e1d2
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 0x40dcbc
fild dword [esp + 0x18]
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x40e47a
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x40dcbc
fcomp st(4)
fnstsw ax
test ah, 0x41
je 0x40e488
jmp 0x40e1dc
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 0x40e16b
fstp st(0)
jmp 0x40e488
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x40e391
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 0x40e28a
fchs
mov dword [esp + 0x40], 0xffffffff
fxch st(1)
call fcn.005b3030
fld st(1)
mov dword [esp + 0xc], eax
call fcn.005b3030
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 [0x60bd40]
add eax, eax
add ebx, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], ebx
call fcn.005b3030
fld st(0)
fld qword [0x613ec8]
mov dword [esp + 0x18], eax
fmul st(1), st(0)
fld st(1)
fsub st(4)
call fcn.005b3030
fxch st(2)
fsubrp st(3)
mov dword [esp + 0xc], eax
fxch st(2)
fmulp st(1)
call fcn.005b3030
mov dword [esp + 0x58], eax
call fcn.005b3030
fild dword [esp + 0x18]
mov dword [esp + 0x54], eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x40e48e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x40e39a
fstp st(3)
jmp 0x40e275
fxch st(4)
mov eax, dword [esp + 0xc]
test eax, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
jle 0x40e3fd
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 0x40e480
fxch st(5)
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x40e484
fxch st(5)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x40e486
fcom st(4)
fnstsw ax
fstp st(4)
test ah, 5
jnp 0x40e488
jmp 0x40e407
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 0x40e398
fstp st(0)
jmp 0x40e488
fstp st(1)
fstp st(0)
jmp 0x40e488
fstp st(5)
jmp 0x40e486
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