Function at 0x50c100
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 0x50cd52
fld qword [ebp + 0x18]
fld qword [ebp + 8]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x50c131
fst qword [esp + 0x60]
jmp 0x50c139
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 0x50c14e
fst qword [esp + 0x68]
jmp 0x50c156
fxch st(1)
fst qword [esp + 0x68]
fxch st(1)
fxch st(2)
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x50c165
fstp st(3)
jmp 0x50c167
fstp st(0)
fxch st(2)
fstp qword [esp + 0x70]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x50c17a
fstp st(1)
jmp 0x50c17c
fstp st(0)
mov eax, ebx
fstp qword [esp + 0x78]
call fcn.0050ade0
mov eax, dword [ebx]
mov edx, dword [eax + 0xbc]
mov ecx, ebx
call edx
test al, al
je 0x50cd52
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 + 0xd0]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 0xd4]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0xd8]
mov eax, dword [ebx + 0xd4]
cmp eax, 0x10
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x24], edx
jne 0x50c7e0
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 0x50c573
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x50c463
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 0x50c32e
fxch st(3)
neg ecx
fchs
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x5c], ecx
fxch st(3)
fld st(2)
call fcn.0062a660
fld st(4)
mov ebx, eax
imul ebx, dword [esp + 0x58]
mov dword [esp + 0x48], eax
call fcn.0062a660
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 [0x665830]
add ebx, 2
mov dword [esp + 0x38], ebx
mov dword [esp + 0x1c], ecx
call fcn.0062a660
mov dword [esp + 0x18], eax
fld st(2)
fsub st(4)
fld qword [0x686dc0]
fmul st(1), st(0)
fxch st(1)
call fcn.0062a660
fmulp st(3)
mov dword [esp + 0x58], eax
fld st(2)
call fcn.0062a660
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.0062a660
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
faddp st(2)
fxch st(1)
call fcn.0062a660
fild dword [esp + 0x18]
mov ecx, eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x50cd3e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x50c470
fstp st(6)
jmp 0x50c30f
mov ecx, dword [esp + 0x44]
fxch st(4)
test ecx, ecx
jle 0x50c4cd
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 0x50c56c
fild dword [esp + 0x1c]
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x50cd2a
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x50c56c
fcomp st(4)
fnstsw ax
test ah, 0x41
je 0x50cd38
jmp 0x50c4d7
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 0x50c46a
fstp st(0)
jmp 0x50cd38
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x50c6e7
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 0x50c5ab
fchs
mov dword [esp + 0x3c], 0xffffffff
fld st(1)
call fcn.0062a660
fld st(2)
mov dword [esp + 0xc], eax
call fcn.0062a660
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 [0x665830]
add eax, eax
add ebx, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], ebx
call fcn.0062a660
fld st(1)
fsub st(3)
mov dword [esp + 0x1c], eax
fld qword [0x686dc0]
fmul st(1), st(0)
fxch st(1)
call fcn.0062a660
fmulp st(2)
mov dword [esp + 0x58], eax
fld st(1)
call fcn.0062a660
fisub dword [esp + 0xc]
mov dword [esp + 0x40], eax
fimul dword [esp + 0x40]
fxch st(1)
fsubrp st(2)
fxch st(1)
call fcn.0062a660
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
faddp st(1)
call fcn.0062a660
fild dword [esp + 0x1c]
mov ecx, eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x50cd3e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x50c6f4
fstp st(3)
jmp 0x50c596
mov ecx, dword [esp + 0x44]
fxch st(4)
test ecx, ecx
mov eax, dword [esp + 0x3c]
jle 0x50c74f
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 0x50cd30
fxch st(5)
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x50cd34
fxch st(5)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x50cd36
fcom st(4)
fnstsw ax
fstp st(4)
test ah, 5
jnp 0x50cd38
jmp 0x50c759
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 0x50c6ee
fstp st(0)
jmp 0x50cd38
cmp eax, 0x20
jne 0x50cd46
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 0x50cb02
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x50ca14
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 0x50c91c
fxch st(3)
neg ecx
fchs
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x5c], ecx
fxch st(3)
fxch st(2)
call fcn.0062a660
fld st(3)
mov ebx, eax
imul ebx, dword [esp + 0x58]
mov dword [esp + 0x48], eax
call fcn.0062a660
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 [0x665830]
call fcn.0062a660
fld st(1)
fld qword [0x686dc0]
mov dword [esp + 0x1c], eax
fmul st(1), st(0)
fld st(1)
fsub st(3)
call fcn.0062a660
fxch st(3)
fsubrp st(2)
mov dword [esp + 0xc], eax
fxch st(1)
fmulp st(2)
fxch st(1)
call fcn.0062a660
mov dword [esp + 0x58], eax
call fcn.0062a660
fild dword [esp + 0x1c]
mov dword [esp + 0x54], eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x50cd3e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x50ca1d
fstp st(6)
jmp 0x50c8fd
fxch st(4)
mov eax, dword [esp + 0xc]
test eax, eax
mov ecx, dword [esp + 0x14]
jle 0x50ca82
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 0x50c56c
fild dword [esp + 0x18]
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x50cd2a
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x50c56c
fcomp st(4)
fnstsw ax
test ah, 0x41
je 0x50cd38
jmp 0x50ca8c
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 0x50ca1b
fstp st(0)
jmp 0x50cd38
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x50cc41
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 0x50cb3a
fchs
mov dword [esp + 0x40], 0xffffffff
fxch st(1)
call fcn.0062a660
fld st(1)
mov dword [esp + 0xc], eax
call fcn.0062a660
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 [0x665830]
add eax, eax
add ebx, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], ebx
call fcn.0062a660
fld st(0)
fld qword [0x686dc0]
mov dword [esp + 0x18], eax
fmul st(1), st(0)
fld st(1)
fsub st(4)
call fcn.0062a660
fxch st(2)
fsubrp st(3)
mov dword [esp + 0xc], eax
fxch st(2)
fmulp st(1)
call fcn.0062a660
mov dword [esp + 0x58], eax
call fcn.0062a660
fild dword [esp + 0x18]
mov dword [esp + 0x54], eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x50cd3e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x50cc4a
fstp st(3)
jmp 0x50cb25
fxch st(4)
mov eax, dword [esp + 0xc]
test eax, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
jle 0x50ccad
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 0x50cd30
fxch st(5)
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x50cd34
fxch st(5)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x50cd36
fcom st(4)
fnstsw ax
fstp st(4)
test ah, 5
jnp 0x50cd38
jmp 0x50ccb7
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 0x50cc48
fstp st(0)
jmp 0x50cd38
fstp st(1)
fstp st(0)
jmp 0x50cd38
fstp st(5)
jmp 0x50cd36
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