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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
mov ecx, dword [edx + 4]
mov dword [esp + 0x78], eax
mov eax, dword [edx + 0x18]
push ebx
push esi
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x14]
mov ebx, dword [eax + 0x24]
mov dword [esp + 0x7c], esi
mov esi, dword [eax + 0x18]
push edi
mov edi, dword [eax + 0x20]
mov dword [esp + 0x7c], esi
mov esi, dword [ecx]
mov dword [esp + 0x88], edi
mov edi, dword [edx + 0xc]
mov dword [esp + 0x20], esi
mov esi, dword [ecx + 4]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x8c], ecx
mov ecx, dword [edx + 0x24]
mov dword [esp + 0x68], edi
mov edi, dword [eax + 0x2c]
mov dword [esp + 0x40], ecx
mov ecx, dword [edx + 0x28]
mov edx, dword [edx]
mov dword [esp + 0x64], edi
mov edi, dword [eax + 0x30]
mov dword [esp + 0x60], edi
mov edi, dword [edx + 8]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x70], edi
mov edi, dword [edx + 0xc]
mov edx, dword [edx + 0x10]
mov dword [esp + 0x94], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x58], edx
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x6c], edi
test edx, edx
je 0x10005256
mov esi, dword [edx + 4]
mov edi, dword [edx + 0xc]
mov eax, dword [eax + 0x34]
imul edi, esi
mov ecx, dword [edx + 8]
add edi, edi
add edi, edi
add edi, edi
mov dword [esp + 0x14], edi
mov edi, dword [edx + 0x2c]
sub edi, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
test eax, eax
je case.default.0x10005264
cmp ecx, 1
jne 0x10002c2a
imul eax, esi
jmp 0x10002c38
cmp ecx, 2
jne 0x1000524a
imul eax, esi
add eax, eax
push eax
call sub.MSVCR100.dll_malloc
add esp, 4
mov dword [esp + 0x38], eax
test eax, eax
je 0x1000524a
mov eax, dword [esp + 0x34]
dec eax
je 0x10003ec1
dec eax
jne 0x10005234
mov eax, dword [esp + 0x20]
dec eax
je 0x100035b4
dec eax
jne 0x10005234
mov ecx, dword [esp + 0x40]
fld qword [0x1007e1f8]
sar dword [esp + 0x58], 1
fld1
mov dword [esp + 0x5c], ebx
cmp ebx, ecx
jge 0x10002ec4
mov eax, dword [esp + 0x90]
lea edx, [eax + ebx*4]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x80]
sub edx, eax
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x88]
sub edx, eax
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x7c]
sub ecx, ebx
sub edx, eax
mov dword [esp + 0x34], ecx
add ecx, ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x5c], ecx
jmp 0x10002cd0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + eax]
mov ebx, dword [esp + 0x8c]
add dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [eax]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x4c]
mov edx, dword [edx + eax]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x48]
mov eax, dword [ebx + eax]
sub eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x3c], eax
test eax, eax
jle 0x10002e7b
add edx, 0xffff8000
add ecx, 0xffff8000
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov ebx, eax
sar ebx, 0x10
mov ecx, edx
and eax, 0xffff
and edx, 0xffff
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
mov eax, ebx
sub ebx, dword [esp + 0x70]
sar ecx, 0x10
mov dword [esp + 0x14], edx
fmul st(2)
fild dword [esp + 0x14]
sar eax, 0xf
mov dword [esp + 0x28], ecx
inc ebx
mov edx, eax
fmul st(3)
not edx
sar ebx, 0x1f
and ebx, edx
mov edx, ecx
sub ecx, dword [esp + 0x6c]
sar edx, 0xf
inc ecx
sar ecx, 0x1f
mov dword [esp + 0x18], edx
not edx
and ecx, edx
and ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x18]
and ecx, 1
add ecx, dword [esp + 0x28]
and eax, 1
add eax, dword [esp + 0x1c]
mov ecx, dword [edx + ecx*4]
and ebx, 1
lea edx, [ecx + eax*2]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], 0
test esi, esi
jle 0x10002e56
mov eax, dword [esp + 0x2c]
fld st(2)
fsub st(2)
add eax, ebx
fld st(3)
mov ecx, edx
fsub st(2)
lea edx, [ecx + eax*2]
mov dword [esp + 0xc], edx
fstp qword [esp + 0x98]
mov eax, dword [esp + 0xc]
movsx ecx, word [eax]
mov eax, dword [esp + 0x1c]
imul ecx, esi
mov edx, dword [esp + 0x2c]
add ecx, eax
fld qword [edi + ecx*8]
mov ecx, dword [esp + 0x18]
movsx edx, word [ecx + edx*2]
fmul st(3)
imul edx, esi
add edx, eax
fld qword [edi + edx*8]
movsx edx, word [ecx + ebx*2]
movsx ecx, word [ecx]
fmul st(2)
imul edx, esi
faddp st(1)
fmul st(2)
imul ecx, esi
add edx, eax
add ecx, eax
fld qword [edi + edx*8]
fmul st(4)
fld qword [edi + ecx*8]
fmul st(3)
faddp st(1)
fmul qword [esp + 0x98]
faddp st(1)
call fcn.1007d380
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x40]
mov word [edx + ecx*2], ax
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, esi
jl 0x10002de5
fstp st(2)
mov ecx, dword [esp + 0x60]
fstp st(1)
add dword [esp + 0x78], ecx
fstp st(0)
lea eax, [esi + esi]
add dword [esp + 0x40], eax
mov eax, dword [esp + 0x64]
add dword [esp + 0x74], eax
dec dword [esp + 0x20]
jne 0x10002d2b
mov edx, dword [esp + 0x44]
fstp st(0)
mov eax, dword [esp + 0x54]
fstp st(0)
mov ecx, dword [ebp + 0x10]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x3c]
push ecx
push edx
push eax
mov eax, dword [esp + 0x44]
push eax
cmp esi, 3
jne 0x10002ea5
call fcn.10031d60
jmp 0x10002eaa
call fcn.10035d10
add dword [esp + 0x34], 4
fld qword [0x1007e1f8]
fld1
add esp, 0x10
dec dword [esp + 0x34]
jne 0x10002cd0
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x5c], ecx
jg 0x10003356
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x5c]
lea ebx, [eax + edx*4]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x80]
sub ebx, eax
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x84]
sub ebx, eax
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x30]
sub ebx, eax
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x90]
sub ebx, eax
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x88]
sub ecx, edx
inc ecx
sub ebx, eax
add edx, ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x5c], edx
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + eax]
mov ecx, dword [eax]
mov ebx, dword [esp + 0x4c]
mov ebx, dword [ebx + eax]
inc ecx
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x84]
mov edx, dword [edx + eax]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + eax]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x50]
mov eax, dword [ebx + eax]
mov ebx, dword [esp + 0x8c]
add dword [esp + 0x44], ebx
inc edx
mov dword [esp + 0x48], edx
cmp ecx, edx
jge 0x10003324
sub ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x24], edx
mov dword [esp + 0x3c], ecx
test ecx, ecx
jle 0x10003103
add eax, 0xffff8000
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
add eax, 0xffff8000
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
mov ebx, eax
sar ebx, 0x10
mov ecx, edx
and eax, 0xffff
and edx, 0xffff
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
mov eax, ebx
sub ebx, dword [esp + 0x70]
sar ecx, 0x10
mov dword [esp + 0xc], edx
fmul st(2)
fild dword [esp + 0xc]
sar eax, 0xf
mov dword [esp + 0x28], ecx
inc ebx
mov edx, eax
fmul st(3)
not edx
sar ebx, 0x1f
and ebx, edx
mov edx, ecx
sub ecx, dword [esp + 0x6c]
sar edx, 0xf
inc ecx
sar ecx, 0x1f
mov dword [esp + 0x18], edx
not edx
and ecx, edx
and ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x18]
and ecx, 1
add ecx, dword [esp + 0x28]
and eax, 1
add eax, dword [esp + 0x1c]
mov ecx, dword [edx + ecx*4]
and ebx, 1
lea edx, [ecx + eax*2]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], 0
test esi, esi
jle 0x10003311
mov eax, dword [esp + 0x2c]
fstp st(3)
fld st(1)
add eax, ebx
mov ecx, edx
fsub st(1)
lea edx, [ecx + eax*2]
fld st(2)
mov dword [esp + 0xc], edx
fsub st(4)
mov eax, dword [esp + 0xc]
movsx ecx, word [eax]
mov eax, dword [esp + 0x1c]
imul ecx, esi
mov edx, dword [esp + 0x2c]
add ecx, eax
fld qword [edi + ecx*8]
mov ecx, dword [esp + 0x18]
movsx edx, word [ecx + edx*2]
fmul st(3)
imul edx, esi
add edx, eax
fld qword [edi + edx*8]
movsx edx, word [ecx + ebx*2]
movsx ecx, word [ecx]
fmul st(3)
imul edx, esi
faddp st(1)
fmul st(5)
imul ecx, esi
add edx, eax
add ecx, eax
fld qword [edi + edx*8]
fmul st(4)
fld qword [edi + ecx*8]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
call fcn.1007d380
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov word [edx + ecx*2], ax
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, esi
jl 0x10003068
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
fxch st(1)
mov ecx, dword [esp + 0x60]
add dword [esp + 0x20], ecx
lea eax, [esi + esi]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x64]
add dword [esp + 0x30], eax
dec dword [esp + 0x34]
jne 0x10002fb3
mov edx, dword [esp + 0x44]
fstp st(0)
mov eax, dword [esp + 0x54]
fstp st(0)
mov ecx, dword [ebp + 0x10]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x3c]
push ecx
push edx
push eax
mov eax, dword [esp + 0x44]
push eax
cmp esi, 3
jne 0x1000331a
call fcn.10031d60
fld1
add esp, 0x10
fld qword [0x1007e1f8]
fxch st(1)
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x54]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov ecx, eax
imul eax, dword [esp + 0x60]
imul ecx, dword [esp + 0x64]
add ecx, dword [ebx + edx]
mov ebx, dword [esp + 0x50]
add eax, dword [ebx + edx]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x40]
sub edx, dword [esp + 0x48]
mov dword [esp + 0x3c], edx
test edx, edx
jle 0x100032e7
add eax, 0xffff8000
mov dword [esp + 0x30], eax
add ecx, 0xffff8000
mov eax, edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ebx, eax
sar ebx, 0x10
mov ecx, edx
and eax, 0xffff
and edx, 0xffff
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
mov eax, ebx
sub ebx, dword [esp + 0x70]
sar ecx, 0x10
mov dword [esp + 0xc], edx
fmul st(2)
fild dword [esp + 0xc]
sar eax, 0xf
mov dword [esp + 0x28], ecx
inc ebx
mov edx, eax
fmul st(3)
not edx
sar ebx, 0x1f
and ebx, edx
mov edx, ecx
sub ecx, dword [esp + 0x6c]
sar edx, 0xf
inc ecx
sar ecx, 0x1f
mov dword [esp + 0x18], edx
not edx
and ecx, edx
and ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x18]
and ecx, 1
add ecx, dword [esp + 0x28]
and eax, 1
add eax, dword [esp + 0x1c]
mov ecx, dword [edx + ecx*4]
and ebx, 1
lea edx, [ecx + eax*2]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], 0
test esi, esi
jle 0x10003331
mov eax, dword [esp + 0x2c]
fstp st(3)
fld st(1)
add eax, ebx
mov ecx, edx
fsub st(1)
lea edx, [ecx + eax*2]
fld st(2)
mov dword [esp + 0xc], edx
fsub st(4)
mov eax, dword [esp + 0xc]
movsx ecx, word [eax]
mov eax, dword [esp + 0x1c]
imul ecx, esi
mov edx, dword [esp + 0x2c]
add ecx, eax
fld qword [edi + ecx*8]
mov ecx, dword [esp + 0x18]
movsx edx, word [ecx + edx*2]
fmul st(3)
imul edx, esi
add edx, eax
fld qword [edi + edx*8]
movsx edx, word [ecx + ebx*2]
movsx ecx, word [ecx]
fmul st(3)
imul edx, esi
faddp st(1)
fmul st(5)
imul ecx, esi
add edx, eax
add ecx, eax
fld qword [edi + edx*8]
fmul st(4)
fld qword [edi + ecx*8]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
call fcn.1007d380
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov word [edx + ecx*2], ax
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, esi
jl 0x1000324c
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
fxch st(1)
mov ecx, dword [esp + 0x60]
add dword [esp + 0x30], ecx
lea eax, [esi + esi]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x64]
add dword [esp + 0x24], eax
dec dword [esp + 0x34]
jne 0x10003197
mov edx, dword [esp + 0x44]
fstp st(0)
mov eax, dword [esp + 0x48]
fstp st(0)
mov ecx, dword [ebp + 0x10]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x3c]
push ecx
push edx
push eax
mov eax, dword [esp + 0x44]
push eax
cmp esi, 3
jne 0x10003337
call fcn.10031d60
jmp 0x1000333c
fstp st(1)
fstp st(0)
jmp 0x100030e2
call fcn.10035d10
jmp 0x1000312f
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x48], ecx
jmp 0x1000313c
fstp st(1)
fstp st(0)
jmp 0x100032c6
call fcn.10035d10
add dword [esp + 0x20], 4
fld qword [0x1007e1f8]
fld1
add esp, 0x10
dec dword [esp + 0x14]
jne 0x10002f30
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x5c]
cmp edx, eax
jg 0x10005230
mov ecx, dword [esp + 0x90]
lea ebx, [ecx + edx*4]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x80]
sub ebx, ecx
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x88]
sub ebx, ecx
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x7c]
sub ebx, ecx
sub eax, edx
inc eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x34], eax
jmp 0x100033ac
fld qword [0x1007e1f8]
fld1
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
mov edx, dword [eax + ecx]
mov ebx, dword [esp + 0x8c]
add dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [eax]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x4c]
mov edx, dword [eax + edx]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x48]
mov eax, dword [eax + ebx]
sub eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x3c], eax
test eax, eax
jle 0x10003557
add edx, 0xffff8000
add ecx, 0xffff8000
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ebx, eax
sar ebx, 0x10
mov ecx, edx
and eax, 0xffff
and edx, 0xffff
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
mov eax, ebx
sub ebx, dword [esp + 0x70]
sar ecx, 0x10
mov dword [esp + 0xc], edx
fmul st(2)
fild dword [esp + 0xc]
sar eax, 0xf
mov dword [esp + 0x28], ecx
inc ebx
mov edx, eax
fmul st(3)
not edx
sar ebx, 0x1f
and ebx, edx
mov edx, ecx
sub ecx, dword [esp + 0x6c]
sar edx, 0xf
inc ecx
sar ecx, 0x1f
mov dword [esp + 0x18], edx
not edx
and ecx, edx
and ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x18]
and ecx, 1
add ecx, dword [esp + 0x28]
and eax, 1
add eax, dword [esp + 0x1c]
mov ecx, dword [edx + ecx*4]
and ebx, 1
lea edx, [ecx + eax*2]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], 0
test esi, esi
jle 0x10003581
mov eax, dword [esp + 0x2c]
fstp st(3)
fld st(1)
add eax, ebx
mov ecx, edx
fsub st(1)
lea edx, [ecx + eax*2]
fld st(2)
mov dword [esp + 0xc], edx
fsub st(4)
mov eax, dword [esp + 0xc]
movsx ecx, word [eax]
mov eax, dword [esp + 0x1c]
imul ecx, esi
mov edx, dword [esp + 0x2c]
add ecx, eax
fld qword [edi + ecx*8]
mov ecx, dword [esp + 0x18]
movsx edx, word [ecx + edx*2]
fmul st(3)
imul edx, esi
add edx, eax
fld qword [edi + edx*8]
movsx edx, word [ecx + ebx*2]
movsx ecx, word [ecx]
fmul st(3)
imul edx, esi
faddp st(1)
fmul st(5)
imul ecx, esi
add edx, eax
add ecx, eax
fld qword [edi + edx*8]
fmul st(4)
fld qword [edi + ecx*8]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
call fcn.1007d380
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov word [edx + ecx*2], ax
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, esi
jl 0x100034bc
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
fxch st(1)
mov ecx, dword [esp + 0x60]
add dword [esp + 0x30], ecx
lea eax, [esi + esi]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x64]
add dword [esp + 0x24], eax
dec dword [esp + 0x14]
jne 0x10003407
mov edx, dword [esp + 0x44]
fstp st(0)
mov eax, dword [esp + 0x54]
fstp st(0)
mov ecx, dword [ebp + 0x10]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x3c]
push ecx
push edx
push eax
mov eax, dword [esp + 0x44]
push eax
cmp esi, 3
jne 0x10003587
call fcn.10031d60
jmp 0x1000358c
fstp st(1)
fstp st(0)
jmp 0x10003536
call fcn.10035d10
add dword [esp + 0x20], 4
add esp, 0x10
dec dword [esp + 0x34]
jne 0x100033a4
mov ecx, dword [esp + 0x38]
push ecx
call sub.MSVCR100.dll_free
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x40]
fld qword [0x1007e1f8]
fld1
mov dword [esp + 0x5c], ebx
cmp ebx, ecx
jge 0x100037f8
mov eax, dword [esp + 0x90]
lea edx, [eax + ebx*4]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x80]
sub edx, eax
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x88]
sub edx, eax
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x7c]
sub ecx, ebx
sub edx, eax
mov dword [esp + 0x34], ecx
add ecx, ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x5c], ecx
lea ebx, [ebx]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + eax]
mov ebx, dword [esp + 0x8c]
add dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [eax]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x4c]
mov edx, dword [edx + eax]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x48]
mov eax, dword [ebx + eax]
sub eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x3c], eax
test eax, eax
jle 0x100037af
add edx, 0xffff8000
add ecx, 0xffff8000
mov dword [esp + 0x40], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
mov ebx, eax
and eax, 0xffff
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
sar ebx, 0x10
mov dword [esp + 0x1c], ebx
mov eax, ebx
sub ebx, dword [esp + 0x70]
fmul st(2)
sar eax, 0xf
mov dword [esp + 0x18], eax
mov ecx, edx
not eax
sar ecx, 0x10
inc ebx
mov dword [esp + 0x28], ecx
and edx, 0xffff
sar ebx, 0x1f
and ebx, eax
mov eax, ecx
sub ecx, dword [esp + 0x6c]
sar eax, 0xf
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
mov edx, eax
inc ecx
not edx
sar ecx, 0x1f
fmul st(3)
and ecx, edx
mov edx, dword [esp + 0x18]
and ecx, dword [esp + 0x58]
and eax, 1
add eax, dword [esp + 0x28]
and edx, 1
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x68]
mov eax, dword [edx + eax*4]
add eax, dword [esp + 0xc]
and ebx, 1
add eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x18], eax
test esi, esi
jle 0x1000378a
fld st(2)
add eax, ecx
fsub st(2)
mov dword [esp + 0xc], eax
fld st(3)
fsub st(2)
fstp qword [esp + 0x98]
mov ecx, dword [esp + 0x18]
movzx edx, byte [ecx + ebx]
movzx ecx, byte [ecx]
imul edx, esi
mov eax, dword [esp + 0x2c]
imul ecx, esi
add edx, eax
add ecx, eax
fld qword [edi + edx*8]
fmul st(3)
fld qword [edi + ecx*8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [ecx]
fmul st(2)
movzx ecx, byte [ecx + ebx]
imul edx, esi
faddp st(1)
fmul qword [esp + 0x98]
imul ecx, esi
add edx, eax
add ecx, eax
fld qword [edi + edx*8]
fmul st(2)
fld qword [edi + ecx*8]
fmul st(5)
faddp st(1)
fmul st(3)
faddp st(1)
call fcn.1007d380
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov word [edx + ecx*2], ax
inc ecx
mov dword [esp + 0x2c], ecx
cmp ecx, esi
jl 0x1000371d
fstp st(2)
mov ecx, dword [esp + 0x60]
fstp st(1)
add dword [esp + 0x40], ecx
fstp st(0)
lea eax, [esi + esi]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x64]
add dword [esp + 0x24], eax
dec dword [esp + 0x14]
jne 0x1000366b
mov ecx, dword [ebp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x54]
fstp st(0)
add eax, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
push ecx
push edx
push eax
mov eax, dword [esp + 0x44]
push eax
cmp esi, 3
jne 0x100037d6
call fcn.1003d280
jmp 0x100037db
call fcn.1003d6a0
add dword [esp + 0x84], 4
fld qword [0x1007e1f8]
fld1
add esp, 0x10
dec dword [esp + 0x34]
jne 0x10003610
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x5c], ecx
jg 0x10003c6b
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x5c]
lea ebx, [eax + edx*4]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x80]
sub ebx, eax
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x84]
sub ebx, eax
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x30]
sub ebx, eax
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x90]
sub ebx, eax
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x88]
sub ecx, edx
inc ecx
sub ebx, eax
add edx, ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + eax]
mov ecx, dword [eax]
mov ebx, dword [esp + 0x4c]
mov ebx, dword [ebx + eax]
inc ecx
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x84]
mov edx, dword [edx + eax]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + eax]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x50]
mov eax, dword [ebx + eax]
mov ebx, dword [esp + 0x8c]
add dword [esp + 0x44], ebx
inc edx
mov dword [esp + 0x48], edx
cmp ecx, edx
jge 0x10003c39
sub ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov dword [esp + 0x3c], ecx
test ecx, ecx
jle 0x10003a2a
add eax, 0xffff8000
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
add eax, 0xffff8000
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ebx, eax
and eax, 0xffff
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
sar ebx, 0x10
mov dword [esp + 0x1c], ebx
mov eax, ebx
sub ebx, dword [esp + 0x70]
fmul st(2)
sar eax, 0xf
mov dword [esp + 0x18], eax
mov ecx, edx
not eax
sar ecx, 0x10
inc ebx
mov dword [esp + 0x28], ecx
and edx, 0xffff
sar ebx, 0x1f
and ebx, eax
mov eax, ecx
sub ecx, dword [esp + 0x6c]
sar eax, 0xf
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
mov edx, eax
inc ecx
not edx
sar ecx, 0x1f
fmul st(3)
and ecx, edx
mov edx, dword [esp + 0x18]
and ecx, dword [esp + 0x58]
and eax, 1
add eax, dword [esp + 0x28]
and edx, 1
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x68]
mov eax, dword [edx + eax*4]
add eax, dword [esp + 0xc]
and ebx, 1
add eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x18], eax
test esi, esi
jle 0x10003c26
fstp st(3)
add eax, ecx
fld st(1)
mov dword [esp + 0xc], eax
fsub st(1)
fld st(2)
fsub st(4)
mov ecx, dword [esp + 0x18]
movzx edx, byte [ecx + ebx]
movzx ecx, byte [ecx]
imul edx, esi
mov eax, dword [esp + 0x2c]
imul ecx, esi
add edx, eax
add ecx, eax
fld qword [edi + edx*8]
fmul st(3)
fld qword [edi + ecx*8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [ecx]
fmul st(3)
movzx ecx, byte [ecx + ebx]
imul edx, esi
faddp st(1)
fmul st(1)
imul ecx, esi
add edx, eax
add ecx, eax
fld qword [edi + edx*8]
fmul st(3)
fld qword [edi + ecx*8]
fmul st(5)
faddp st(1)
fmul st(6)
faddp st(1)
call fcn.1007d380
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov word [edx + ecx*2], ax
inc ecx
mov dword [esp + 0x2c], ecx
cmp ecx, esi
jl 0x10003993
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
fxch st(1)
mov ecx, dword [esp + 0x60]
add dword [esp + 0x30], ecx
lea eax, [esi + esi]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x64]
add dword [esp + 0x24], eax
dec dword [esp + 0x14]
jne 0x100038e6
mov ecx, dword [ebp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x44]
fstp st(0)
add eax, dword [esp + 0x54]
mov edx, dword [esp + 0x3c]
push ecx
push edx
push eax
mov eax, dword [esp + 0x44]
push eax
cmp esi, 3
jne 0x10003c2f
call fcn.1003d280
fld1
add esp, 0x10
fld qword [0x1007e1f8]
fxch st(1)
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x54]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov ecx, eax
imul eax, dword [esp + 0x60]
imul ecx, dword [esp + 0x64]
add ecx, dword [ebx + edx]
mov ebx, dword [esp + 0x50]
add eax, dword [ebx + edx]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x40]
sub edx, dword [esp + 0x48]
mov dword [esp + 0x3c], edx
test edx, edx
jle 0x10003bff
add eax, 0xffff8000
mov dword [esp + 0x30], eax
add ecx, 0xffff8000
mov eax, edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ebx, eax
and eax, 0xffff
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
sar ebx, 0x10
mov dword [esp + 0x1c], ebx
mov eax, ebx
sub ebx, dword [esp + 0x70]
fmul st(2)
sar eax, 0xf
mov dword [esp + 0x18], eax
mov ecx, edx
not eax
sar ecx, 0x10
inc ebx
mov dword [esp + 0x28], ecx
and edx, 0xffff
sar ebx, 0x1f
and ebx, eax
mov eax, ecx
sub ecx, dword [esp + 0x6c]
sar eax, 0xf
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
mov edx, eax
inc ecx
not edx
sar ecx, 0x1f
fmul st(3)
and ecx, edx
mov edx, dword [esp + 0x18]
and ecx, dword [esp + 0x58]
and eax, 1
add eax, dword [esp + 0x28]
and edx, 1
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x68]
mov eax, dword [edx + eax*4]
add eax, dword [esp + 0xc]
and ebx, 1
add eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x18], eax
test esi, esi
jle 0x10003c46
fstp st(3)
add eax, ecx
fld st(1)
mov dword [esp + 0xc], eax
fsub st(1)
fld st(2)
fsub st(4)
mov ecx, dword [esp + 0x18]
movzx edx, byte [ecx + ebx]
movzx ecx, byte [ecx]
imul edx, esi
mov eax, dword [esp + 0x2c]
imul ecx, esi
add edx, eax
add ecx, eax
fld qword [edi + edx*8]
fmul st(3)
fld qword [edi + ecx*8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [ecx]
fmul st(3)
movzx ecx, byte [ecx + ebx]
imul edx, esi
faddp st(1)
fmul st(1)
imul ecx, esi
add edx, eax
add ecx, eax
fld qword [edi + edx*8]
fmul st(3)
fld qword [edi + ecx*8]
fmul st(5)
faddp st(1)
fmul st(6)
faddp st(1)
call fcn.1007d380
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov word [edx + ecx*2], ax
inc ecx
mov dword [esp + 0x2c], ecx
cmp ecx, esi
jl 0x10003b68
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
fxch st(1)
mov ecx, dword [esp + 0x60]
add dword [esp + 0x30], ecx
lea eax, [esi + esi]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x64]
add dword [esp + 0x24], eax
dec dword [esp + 0x14]
jne 0x10003abb
mov ecx, dword [ebp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x44]
fstp st(0)
add eax, dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
push ecx
push edx
push eax
mov eax, dword [esp + 0x44]
push eax
cmp esi, 3
jne 0x10003c4c
call fcn.1003d280
jmp 0x10003c51
fstp st(1)
fstp st(0)
jmp 0x10003a09
call fcn.1003d6a0
jmp 0x10003a53
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x48], ecx
jmp 0x10003a60
fstp st(1)
fstp st(0)
jmp 0x10003bde
call fcn.1003d6a0
add dword [esp + 0x20], 4
fld qword [0x1007e1f8]
fld1
add esp, 0x10
dec dword [esp + 0x34]
jne 0x10003863
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0x94]
cmp ebx, eax
jg 0x10005230
mov ecx, dword [esp + 0x90]
lea edx, [ecx + ebx*4]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x80]
sub edx, ecx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x88]
sub edx, ecx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x7c]
sub edx, ecx
sub eax, ebx
inc eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x34], eax
jmp 0x10003cc8
fld qword [0x1007e1f8]
fld1
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + eax]
mov ebx, dword [esp + 0x8c]
add dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [eax]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x4c]
mov edx, dword [edx + eax]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x48]
mov eax, dword [ebx + eax]
sub eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x3c], eax
test eax, eax
jle 0x10003e67
add edx, 0xffff8000
add ecx, 0xffff8000
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ebx, eax
and eax, 0xffff
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
sar ebx, 0x10
mov dword [esp + 0x1c], ebx
mov eax, ebx
sub ebx, dword [esp + 0x70]
fmul st(2)
sar eax, 0xf
mov dword [esp + 0x18], eax
mov ecx, edx
not eax
sar ecx, 0x10
inc ebx
mov dword [esp + 0x28], ecx
and edx, 0xffff
sar ebx, 0x1f
and ebx, eax
mov eax, ecx
sub ecx, dword [esp + 0x6c]
sar eax, 0xf
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
mov edx, eax
inc ecx
not edx
sar ecx, 0x1f
fmul st(3)
and ecx, edx
mov edx, dword [esp + 0x18]
and ecx, dword [esp + 0x58]
and eax, 1
add eax, dword [esp + 0x28]
and edx, 1
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x68]
mov eax, dword [edx + eax*4]
add eax, dword [esp + 0xc]
and ebx, 1
add eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x18], eax
test esi, esi
jle 0x10003e8e
fstp st(3)
add eax, ecx
fld st(1)
mov dword [esp + 0xc], eax
fsub st(1)
fld st(2)
fsub st(4)
mov ecx, dword [esp + 0x18]
movzx edx, byte [ecx + ebx]
movzx ecx, byte [ecx]
imul edx, esi
mov eax, dword [esp + 0x2c]
imul ecx, esi
add edx, eax
add ecx, eax
fld qword [edi + edx*8]
fmul st(3)
fld qword [edi + ecx*8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [ecx]
fmul st(3)
movzx ecx, byte [ecx + ebx]
imul edx, esi
faddp st(1)
fmul st(1)
imul ecx, esi
add edx, eax
add ecx, eax
fld qword [edi + edx*8]
fmul st(3)
fld qword [edi + ecx*8]
fmul st(5)
faddp st(1)
fmul st(6)
faddp st(1)
call fcn.1007d380
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov word [edx + ecx*2], ax
inc ecx
mov dword [esp + 0x2c], ecx
cmp ecx, esi
jl 0x10003dd0
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
fxch st(1)
mov ecx, dword [esp + 0x60]
add dword [esp + 0x30], ecx
lea eax, [esi + esi]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x64]
add dword [esp + 0x24], eax
dec dword [esp + 0x14]
jne 0x10003d23
mov ecx, dword [ebp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x44]
fstp st(0)
add eax, dword [esp + 0x54]
mov edx, dword [esp + 0x3c]
push ecx
push edx
push eax
mov eax, dword [esp + 0x44]
push eax
cmp esi, 3
jne 0x10003e94
call fcn.1003d280
jmp 0x10003e99
fstp st(1)
fstp st(0)
jmp 0x10003e46
call fcn.1003d6a0
add dword [esp + 0x20], 4
add esp, 0x10
dec dword [esp + 0x34]
jne 0x10003cc0
mov ecx, dword [esp + 0x38]
push ecx
call sub.MSVCR100.dll_free
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x20]
dec eax
je 0x100048a0
dec eax
jne 0x10005234
sar dword [esp + 0x58], 1
fld qword [0x1007e1f8]
fld1
mov ecx, ebx
cmp ebx, dword [esp + 0x40]
jge 0x10004145
mov eax, dword [esp + 0x90]
lea ecx, [eax + ebx*4]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x80]
sub ecx, eax
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x88]
sub ecx, eax
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x7c]
sub ecx, eax
mov eax, dword [esp + 0x40]
sub eax, ebx
mov dword [esp + 0x34], eax
add eax, ebx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x5c], eax
jmp 0x10003f38
fld qword [0x1007e1f8]
fld1
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x50]
mov ecx, dword [edx + eax]
mov edx, dword [eax]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x4c]
mov ebx, dword [ecx + eax]
mov ecx, dword [esp + 0x8c]
add dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx + eax]
sub ecx, dword [esp + 0x54]
inc ecx
mov dword [esp + 0xc], ecx
test ecx, ecx
jle 0x100040f7
add ebx, 0xffff8000
lea eax, [edx - 0x8000]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ecx
mov edx, eax
sar edx, 0x10
and eax, 0xffff
mov ecx, ebx
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
and ebx, 0xffff
sar ecx, 0x10
mov dword [esp + 0x1c], edx
mov eax, edx
fmul st(2)
sub edx, dword [esp + 0x70]
mov dword [esp + 0x3c], ebx
fild dword [esp + 0x3c]
sar eax, 0xf
mov dword [esp + 0x28], ecx
inc edx
mov ebx, eax
fmul st(3)
not ebx
sar edx, 0x1f
and edx, ebx
mov ebx, ecx
sub ecx, dword [esp + 0x6c]
sar ebx, 0xf
inc ecx
sar ecx, 0x1f
mov dword [esp + 0x18], ebx
not ebx
and ecx, ebx
and ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x18]
and ecx, 1
add ecx, dword [esp + 0x28]
and eax, 1
add eax, dword [esp + 0x1c]
mov ecx, dword [ebx + ecx*4]
lea eax, [ecx + eax*2]
and edx, 1
xor ecx, ecx
mov dword [esp + 0x3c], eax
test esi, esi
jle 0x100040c9
mov ebx, dword [esp + 0x2c]
fld st(2)
fsub st(2)
add ebx, edx
fld st(3)
lea ebx, [eax + ebx*2]
fsub st(2)
mov dword [esp + 0x18], ebx
fstp qword [esp + 0x98]
jmp 0x10004043
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x2c]
fnstcw word [esp + 0x28]
movsx eax, word [eax + ebx*2]
imul eax, esi
add eax, ecx
fld qword [edi + eax*8]
mov eax, dword [esp + 0x18]
movsx eax, word [eax]
fmul st(1)
imul eax, esi
add eax, ecx
fld qword [edi + eax*8]
mov eax, dword [esp + 0x3c]
movsx ebx, word [eax + edx*2]
fmul st(4)
movsx eax, word [eax]
imul ebx, esi
faddp st(1)
fmul st(2)
imul eax, esi
add ebx, ecx
add eax, ecx
inc ecx
fld qword [edi + ebx*8]
mov ebx, dword [esp + 0x20]
fmul st(4)
fld qword [edi + eax*8]
movzx eax, word [esp + 0x28]
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x78], eax
faddp st(1)
fmul qword [esp + 0x98]
faddp st(1)
fldcw word [esp + 0x78]
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
mov byte [ecx + ebx - 1], al
fldcw word [esp + 0x28]
cmp ecx, esi
jl 0x1000403f
fstp st(2)
mov eax, dword [esp + 0x24]
fstp st(1)
mov ebx, dword [esp + 0x40]
fstp st(0)
add eax, dword [esp + 0x64]
add ebx, dword [esp + 0x60]
add dword [esp + 0x20], esi
dec dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x40], ebx
jne 0x10003f93
mov edx, dword [esp + 0x44]
fstp st(0)
mov eax, dword [esp + 0x54]
fstp st(0)
lea eax, [edx + eax*2]
mov edx, dword [ebp + 0x10]
push edx
push ecx
push eax
mov eax, dword [esp + 0x44]
push eax
cmp esi, 3
jne 0x1000411d
call fcn.10027e20
jmp 0x10004122
call fcn.1002b650
add dword [esp + 0x84], 4
add esp, 0x10
dec dword [esp + 0x34]
jne 0x10003f30
fld1
mov ecx, dword [esp + 0x5c]
fld qword [0x1007e1f8]
fxch st(1)
mov edx, dword [esp + 0x10]
cmp ecx, edx
jg 0x10004613
mov eax, dword [esp + 0x7c]
lea ebx, [eax + ecx*4]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x80]
sub ebx, eax
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x84]
sub ebx, eax
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x30]
sub ebx, eax
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x90]
sub ebx, eax
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x88]
sub edx, ecx
sub ebx, eax
inc edx
add ecx, edx
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x30], edx
mov dword [esp + 0x5c], ecx
jmp 0x100041b8
fld qword [0x1007e1f8]
fld1
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + ebx]
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + ebx]
mov eax, dword [ebx]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x4c]
inc eax
inc ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [edx + ebx]
mov edx, dword [esp + 0x50]
mov edx, dword [edx + ebx]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax + ebx]
mov ebx, dword [esp + 0x8c]
add dword [esp + 0x44], ebx
cmp eax, dword [esp + 0x48]
jge 0x10004448
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x54]
sub eax, ebx
mov dword [esp + 0xc], eax
test eax, eax
jle 0x100043a7
lea eax, [ecx - 0x8000]
mov ecx, dword [esp + 0xc]
lea ebx, [edx - 0x8000]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], ecx
jmp 0x1000423d
fxch st(1)
mov edx, eax
sar edx, 0x10
and eax, 0xffff
mov ecx, ebx
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
and ebx, 0xffff
sar ecx, 0x10
mov dword [esp + 0x1c], edx
mov eax, edx
fmul st(2)
sub edx, dword [esp + 0x70]
mov dword [esp + 0x3c], ebx
fild dword [esp + 0x3c]
sar eax, 0xf
mov dword [esp + 0x28], ecx
inc edx
mov ebx, eax
fmul st(3)
not ebx
sar edx, 0x1f
and edx, ebx
mov ebx, ecx
sub ecx, dword [esp + 0x6c]
sar ebx, 0xf
inc ecx
sar ecx, 0x1f
mov dword [esp + 0x18], ebx
not ebx
and ecx, ebx
and ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x18]
and ecx, 1
add ecx, dword [esp + 0x28]
and eax, 1
add eax, dword [esp + 0x1c]
mov ecx, dword [ebx + ecx*4]
lea eax, [ecx + eax*2]
and edx, 1
xor ecx, ecx
mov dword [esp + 0x3c], eax
test esi, esi
jle 0x10004373
mov ebx, dword [esp + 0x2c]
fstp st(3)
fld st(1)
add ebx, edx
fsub st(1)
lea ebx, [eax + ebx*2]
fld st(2)
mov dword [esp + 0x18], ebx
fsub st(4)
jmp 0x100042e8
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x2c]
fnstcw word [esp + 0x28]
movsx eax, word [eax + ebx*2]
imul eax, esi
add eax, ecx
fld qword [edi + eax*8]
mov eax, dword [esp + 0x18]
movsx eax, word [eax]
fmul st(2)
imul eax, esi
add eax, ecx
fld qword [edi + eax*8]
mov eax, dword [esp + 0x3c]
movsx ebx, word [eax + edx*2]
fmul st(4)
movsx eax, word [eax]
imul ebx, esi
faddp st(1)
fmul st(5)
imul eax, esi
add ebx, ecx
add eax, ecx
inc ecx
fld qword [edi + ebx*8]
mov ebx, dword [esp + 0x20]
fmul st(4)
fld qword [edi + eax*8]
movzx eax, word [esp + 0x28]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x1c], eax
faddp st(1)
fmul st(2)
faddp st(1)
fldcw word [esp + 0x1c]
fistp dword [esp + 0x1c]
mov al, byte [esp + 0x1c]
mov byte [ebx + ecx - 1], al
fldcw word [esp + 0x28]
cmp ecx, esi
jl 0x100042e4
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
jmp 0x10004379
fstp st(1)
fstp st(0)
fxch st(1)
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x34]
add eax, dword [esp + 0x64]
add ebx, dword [esp + 0x60]
add dword [esp + 0x20], esi
dec dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], ebx
jne 0x1000423b
mov ebx, dword [esp + 0x54]
fstp st(1)
jmp 0x100043a9
fstp st(0)
mov ecx, dword [esp + 0x44]
fstp st(0)
lea eax, [ecx + ebx*2]
cmp esi, 3
jne 0x10004432
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0xc]
push edx
mov edx, dword [esp + 0x3c]
push ecx
push eax
push edx
call fcn.10027e20
fld1
add esp, 0x10
fld qword [0x1007e1f8]
fxch st(1)
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x10]
sub eax, ebx
mov ebx, dword [esp + 0x4c]
mov ecx, eax
imul eax, dword [esp + 0x60]
imul ecx, dword [esp + 0x64]
add ecx, dword [ebx + edx]
mov ebx, dword [esp + 0x50]
add eax, dword [ebx + edx]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x40]
sub edx, dword [esp + 0x48]
mov dword [esp + 0xc], edx
test edx, edx
jle 0x100045c2
lea ebx, [eax - 0x8000]
lea eax, [ecx - 0x8000]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], edx
jmp 0x10004458
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0xc]
push ecx
push edx
push eax
mov eax, dword [esp + 0x44]
push eax
call fcn.1002b650
jmp 0x100043cb
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x48], ebx
jmp 0x100043d8
mov ebx, dword [esp + 0x24]
fxch st(1)
mov edx, eax
sar edx, 0x10
and eax, 0xffff
mov ecx, ebx
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
and ebx, 0xffff
sar ecx, 0x10
mov dword [esp + 0x1c], edx
mov eax, edx
fmul st(2)
sub edx, dword [esp + 0x70]
mov dword [esp + 0x3c], ebx
fild dword [esp + 0x3c]
sar eax, 0xf
mov dword [esp + 0x28], ecx
inc edx
mov ebx, eax
fmul st(3)
not ebx
sar edx, 0x1f
and edx, ebx
mov ebx, ecx
sub ecx, dword [esp + 0x6c]
sar ebx, 0xf
inc ecx
sar ecx, 0x1f
mov dword [esp + 0x18], ebx
not ebx
and ecx, ebx
and ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x18]
and ecx, 1
add ecx, dword [esp + 0x28]
and eax, 1
add eax, dword [esp + 0x1c]
mov ecx, dword [ebx + ecx*4]
lea eax, [ecx + eax*2]
and edx, 1
xor ecx, ecx
mov dword [esp + 0x3c], eax
test esi, esi
jle 0x1000458e
mov ebx, dword [esp + 0x2c]
fstp st(3)
fld st(1)
add ebx, edx
fsub st(1)
lea ebx, [eax + ebx*2]
fld st(2)
mov dword [esp + 0x18], ebx
fsub st(4)
jmp 0x10004503
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x2c]
fnstcw word [esp + 0x28]
movsx eax, word [eax + ebx*2]
imul eax, esi
add eax, ecx
fld qword [edi + eax*8]
mov eax, dword [esp + 0x18]
movsx eax, word [eax]
fmul st(2)
imul eax, esi
add eax, ecx
fld qword [edi + eax*8]
mov eax, dword [esp + 0x3c]
movsx ebx, word [eax + edx*2]
fmul st(4)
movsx eax, word [eax]
imul ebx, esi
faddp st(1)
fmul st(5)
imul eax, esi
add ebx, ecx
add eax, ecx
inc ecx
fld qword [edi + ebx*8]
mov ebx, dword [esp + 0x20]
fmul st(4)
fld qword [edi + eax*8]
movzx eax, word [esp + 0x28]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x40], eax
faddp st(1)
fmul st(2)
faddp st(1)
fldcw word [esp + 0x40]
fistp dword [esp + 0x40]
mov al, byte [esp + 0x40]
mov byte [ebx + ecx - 1], al
fldcw word [esp + 0x28]
cmp ecx, esi
jl 0x100044ff
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
jmp 0x10004594
fstp st(1)
fstp st(0)
fxch st(1)
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
add dword [esp + 0x20], esi
add dword [esp + 0x24], ecx
dec dword [esp + 0x34]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
jne 0x10004452
mov edx, dword [esp + 0xc]
fstp st(1)
jmp 0x100045c8
mov ebx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x48]
fstp st(0)
mov eax, dword [esp + 0x44]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp + 0x10]
push ecx
push edx
mov edx, dword [esp + 0x40]
push eax
push edx
cmp esi, 3
jne 0x100045ec
call fcn.10027e20
jmp 0x100045f1
call fcn.1002b650
add ebx, 4
add esp, 0x10
dec dword [esp + 0x30]
mov dword [esp + 0x10], ebx
jne 0x100041b0
fld1
mov ecx, dword [esp + 0x5c]
fld qword [0x1007e1f8]
fxch st(1)
mov eax, dword [esp + 0x94]
cmp ecx, eax
jg 0x10005230
mov edx, dword [esp + 0x90]
lea ebx, [edx + ecx*4]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x80]
sub ebx, edx
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x88]
sub ebx, edx
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x7c]
sub ebx, edx
sub eax, ecx
inc eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x34], eax
jmp 0x10004668
fld qword [0x1007e1f8]
fld1
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
mov edx, dword [eax + ecx]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [eax + ecx]
mov ecx, dword [esp + 0x8c]
add dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x48]
mov ecx, dword [eax + ecx]
mov dword [esp + 0x54], edx
sub ecx, dword [esp + 0x54]
mov edx, dword [eax]
inc ecx
mov dword [esp + 0xc], ecx
test ecx, ecx
jle 0x1000486f
add ebx, 0xffff8000
lea eax, [edx - 0x8000]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ecx
jmp 0x100046c7
fxch st(1)
mov edx, eax
sar edx, 0x10
and eax, 0xffff
mov ecx, ebx
mov dword [esp + 0x94], eax
fild dword [esp + 0x94]
and ebx, 0xffff
sar ecx, 0x10
mov dword [esp + 0x1c], edx
mov eax, edx
fmul st(2)
sub edx, dword [esp + 0x70]
mov dword [esp + 0x94], ebx
sar eax, 0xf
fild dword [esp + 0x94]
mov dword [esp + 0x28], ecx
inc edx
mov ebx, eax
fmul st(3)
not ebx
sar edx, 0x1f
and edx, ebx
mov ebx, ecx
sub ecx, dword [esp + 0x6c]
sar ebx, 0xf
inc ecx
sar ecx, 0x1f
mov dword [esp + 0x18], ebx
not ebx
and ecx, ebx
and ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x18]
and ecx, 1
add ecx, dword [esp + 0x28]
and eax, 1
add eax, dword [esp + 0x1c]
mov ecx, dword [ebx + ecx*4]
lea eax, [ecx + eax*2]
and edx, 1
xor ecx, ecx
mov dword [esp + 0x3c], eax
test esi, esi
jle 0x10004819
mov ebx, dword [esp + 0x2c]
fstp st(3)
fld st(1)
add ebx, edx
fsub st(1)
lea ebx, [eax + ebx*2]
fld st(2)
mov dword [esp + 0x18], ebx
fsub st(4)
jmp 0x1000477e
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x2c]
fnstcw word [esp + 0x28]
movsx eax, word [eax + ebx*2]
imul eax, esi
add eax, ecx
fld qword [edi + eax*8]
mov eax, dword [esp + 0x18]
movsx eax, word [eax]
fmul st(2)
imul eax, esi
add eax, ecx
fld qword [edi + eax*8]
mov eax, dword [esp + 0x3c]
movsx ebx, word [eax + edx*2]
fmul st(4)
movsx eax, word [eax]
imul ebx, esi
faddp st(1)
fmul st(5)
imul eax, esi
add ebx, ecx
add eax, ecx
inc ecx
fld qword [edi + ebx*8]
mov ebx, dword [esp + 0x20]
fmul st(4)
fld qword [edi + eax*8]
movzx eax, word [esp + 0x28]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x94], eax
faddp st(1)
fmul st(2)
faddp st(1)
fldcw word [esp + 0x94]
fistp dword [esp + 0x94]
mov al, byte [esp + 0x94]
mov byte [ebx + ecx - 1], al
fldcw word [esp + 0x28]
cmp ecx, esi
jl 0x1000477a
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
jmp 0x1000481f
fstp st(1)
fstp st(0)
fxch st(1)
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x30]
add eax, dword [esp + 0x64]
add ebx, dword [esp + 0x60]
add dword [esp + 0x20], esi
dec dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], ebx
jne 0x100046c5
fstp st(1)
mov edx, dword [esp + 0x44]
fstp st(0)
mov eax, dword [esp + 0x54]
lea eax, [edx + eax*2]
mov edx, dword [ebp + 0x10]
push edx
push ecx
push eax
mov eax, dword [esp + 0x44]
push eax
cmp esi, 3
jne 0x10004873
call fcn.10027e20
jmp 0x10004878
fstp st(0)
jmp 0x1000484b
call fcn.1002b650
add dword [esp + 0x20], 4
add esp, 0x10
dec dword [esp + 0x34]
jne 0x10004660
mov ecx, dword [esp + 0x38]
push ecx
call sub.MSVCR100.dll_free
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld qword [0x1007e1f8]
mov ecx, ebx
fld1
cmp ebx, dword [esp + 0x40]
jge 0x10004b02
mov eax, dword [esp + 0x90]
lea ecx, [eax + ebx*4]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x80]
sub ecx, eax
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x88]
sub ecx, eax
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x7c]
sub ecx, eax
mov eax, dword [esp + 0x40]
sub eax, ebx
mov dword [esp + 0x34], eax
add eax, ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x5c], eax
jmp 0x10004908
fld qword [0x1007e1f8]
fld1
mov edx, dword [esp + 0x50]
mov eax, dword [ebx + edx]
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebx + ecx]
mov ecx, dword [esp + 0x8c]
add dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x48]
mov ecx, dword [ebx + ecx]
mov dword [esp + 0x54], eax
sub ecx, dword [esp + 0x54]
mov eax, dword [ebx]
inc ecx
mov dword [esp + 0x3c], ecx
test ecx, ecx
jle 0x10004ab8
add edx, 0xffff8000
add eax, 0xffff8000
mov dword [esp + 0x40], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ecx
mov ecx, eax
and eax, 0xffff
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
sar ecx, 0x10
mov dword [esp + 0x1c], ecx
mov eax, ecx
sub ecx, dword [esp + 0x70]
fmul st(2)
sar eax, 0xf
mov dword [esp + 0x18], eax
mov ebx, edx
not eax
sar ebx, 0x10
inc ecx
and edx, 0xffff
mov dword [esp + 0x28], ebx
sar ecx, 0x1f
and ecx, eax
mov eax, ebx
sub ebx, dword [esp + 0x6c]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
sar eax, 0xf
mov edx, eax
inc ebx
not edx
fmul st(3)
sar ebx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x18]
and ebx, dword [esp + 0x58]
and eax, 1
add eax, dword [esp + 0x28]
and edx, 1
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x68]
mov eax, dword [edx + eax*4]
add eax, dword [esp + 0xc]
and ecx, 1
add eax, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x18], eax
test esi, esi
jle 0x10004a86
fld st(2)
add ebx, eax
fsub st(2)
mov dword [esp + 0xc], ebx
fld st(3)
fsub st(2)
fstp qword [esp + 0x98]
jmp 0x10004a08
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
fnstcw word [esp + 0x28]
movzx ebx, byte [ebx]
imul ebx, esi
add ebx, edx
fld qword [edi + ebx*8]
mov ebx, dword [esp + 0xc]
movzx ebx, byte [ebx + ecx]
fmul st(1)
imul ebx, esi
add ebx, edx
fld qword [edi + ebx*8]
movzx ebx, byte [eax + ecx]
movzx eax, byte [eax]
fmul st(4)
imul ebx, esi
faddp st(1)
fmul st(2)
imul eax, esi
add ebx, edx
add eax, edx
inc edx
fld qword [edi + ebx*8]
mov ebx, dword [esp + 0x20]
fmul st(4)
fld qword [edi + eax*8]
movzx eax, word [esp + 0x28]
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x78], eax
faddp st(1)
fmul qword [esp + 0x98]
faddp st(1)
fldcw word [esp + 0x78]
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
mov byte [edx + ebx - 1], al
fldcw word [esp + 0x28]
cmp edx, esi
jl 0x10004a04
fstp st(2)
mov eax, dword [esp + 0x24]
fstp st(1)
mov edx, dword [esp + 0x40]
fstp st(0)
add eax, dword [esp + 0x64]
add edx, dword [esp + 0x60]
add dword [esp + 0x20], esi
dec dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x40], edx
jne 0x1000495e
mov ebx, dword [esp + 0x74]
mov edx, dword [ebp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x54]
fstp st(0)
add eax, dword [esp + 0x44]
push edx
push ecx
push eax
mov eax, dword [esp + 0x44]
push eax
cmp esi, 3
jne 0x10004adb
call fcn.100274b0
jmp 0x10004ae0
call fcn.10027880
add ebx, 4
add esp, 0x10
dec dword [esp + 0x34]
mov dword [esp + 0x74], ebx
jne 0x10004900
fld1
mov ecx, dword [esp + 0x5c]
fld qword [0x1007e1f8]
fxch st(1)
mov edx, dword [esp + 0x10]
cmp ecx, edx
jg 0x10004fa8
mov eax, dword [esp + 0x7c]
lea ebx, [eax + ecx*4]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x80]
sub ebx, eax
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x84]
sub ebx, eax
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x30]
sub ebx, eax
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x90]
sub ebx, eax
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x88]
sub edx, ecx
sub ebx, eax
inc edx
add ecx, edx
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x34], edx
mov dword [esp + 0x5c], ecx
jmp 0x10004b78
fld qword [0x1007e1f8]
fld1
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + ebx]
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + ebx]
mov eax, dword [ebx]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x4c]
inc eax
inc ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [edx + ebx]
mov edx, dword [esp + 0x50]
mov edx, dword [edx + ebx]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax + ebx]
mov ebx, dword [esp + 0x8c]
add dword [esp + 0x44], ebx
cmp eax, dword [esp + 0x48]
jge 0x10004dea
mov ebx, dword [esp + 0x38]
sub eax, dword [esp + 0x54]
mov dword [esp + 0x20], ebx
mov ebx, eax
mov dword [esp + 0x3c], ebx
test ebx, ebx
jle 0x10004d59
add edx, 0xffff8000
lea eax, [ecx - 0x8000]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ebx
jmp 0x10004bf9
fxch st(1)
mov ecx, eax
and eax, 0xffff
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
sar ecx, 0x10
mov dword [esp + 0x1c], ecx
mov eax, ecx
sub ecx, dword [esp + 0x70]
fmul st(2)
sar eax, 0xf
mov dword [esp + 0x18], eax
mov ebx, edx
not eax
sar ebx, 0x10
inc ecx
and edx, 0xffff
mov dword [esp + 0x28], ebx
sar ecx, 0x1f
and ecx, eax
mov eax, ebx
sub ebx, dword [esp + 0x6c]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
sar eax, 0xf
mov edx, eax
inc ebx
not edx
fmul st(3)
sar ebx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x18]
and ebx, dword [esp + 0x58]
and eax, 1
add eax, dword [esp + 0x28]
and edx, 1
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x68]
mov eax, dword [edx + eax*4]
add eax, dword [esp + 0xc]
and ecx, 1
add eax, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x18], eax
test esi, esi
jle 0x10004d25
fstp st(3)
add ebx, eax
fld st(1)
mov dword [esp + 0xc], ebx
fsub st(1)
fld st(2)
fsub st(4)
jmp 0x10004c9e
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
fnstcw word [esp + 0x28]
movzx ebx, byte [ebx]
imul ebx, esi
add ebx, edx
fld qword [edi + ebx*8]
mov ebx, dword [esp + 0xc]
movzx ebx, byte [ebx + ecx]
fmul st(2)
imul ebx, esi
add ebx, edx
fld qword [edi + ebx*8]
movzx ebx, byte [eax + ecx]
movzx eax, byte [eax]
fmul st(4)
imul ebx, esi
faddp st(1)
fmul st(5)
imul eax, esi
add ebx, edx
add eax, edx
inc edx
fld qword [edi + ebx*8]
mov ebx, dword [esp + 0x20]
fmul st(4)
fld qword [edi + eax*8]
movzx eax, word [esp + 0x28]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x2c], eax
faddp st(1)
fmul st(2)
faddp st(1)
fldcw word [esp + 0x2c]
fistp dword [esp + 0x2c]
mov al, byte [esp + 0x2c]
mov byte [ebx + edx - 1], al
fldcw word [esp + 0x28]
cmp edx, esi
jl 0x10004c9a
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
jmp 0x10004d2b
fstp st(1)
fstp st(0)
fxch st(1)
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x64]
add edx, dword [esp + 0x60]
add dword [esp + 0x20], esi
dec dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], edx
jne 0x10004bf7
mov ebx, dword [esp + 0x3c]
fstp st(1)
jmp 0x10004d5b
fstp st(0)
mov ecx, dword [ebp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x54]
add eax, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
push ecx
push ebx
push eax
push edx
cmp esi, 3
jne 0x10004de3
call fcn.100274b0
fld1
add esp, 0x10
fld qword [0x1007e1f8]
fxch st(1)
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x54]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov ecx, eax
imul eax, dword [esp + 0x60]
imul ecx, dword [esp + 0x64]
add ecx, dword [ebx + edx]
mov ebx, dword [esp + 0x50]
add eax, dword [ebx + edx]
mov ebx, dword [esp + 0x40]
sub ebx, dword [esp + 0x48]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov dword [esp + 0x3c], ebx
test ebx, ebx
jle 0x10004f56
lea edx, [eax - 0x8000]
lea eax, [ecx - 0x8000]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ebx
jmp 0x10004df6
call fcn.10027880
jmp 0x10004d7a
mov eax, dword [esp + 0x54]
mov dword [esp + 0x48], eax
jmp 0x10004d87
fxch st(1)
mov ecx, eax
and eax, 0xffff
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
sar ecx, 0x10
mov dword [esp + 0x1c], ecx
mov eax, ecx
sub ecx, dword [esp + 0x70]
fmul st(2)
sar eax, 0xf
mov dword [esp + 0x18], eax
mov ebx, edx
not eax
sar ebx, 0x10
inc ecx
and edx, 0xffff
mov dword [esp + 0x28], ebx
sar ecx, 0x1f
and ecx, eax
mov eax, ebx
sub ebx, dword [esp + 0x6c]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
sar eax, 0xf
mov edx, eax
inc ebx
not edx
fmul st(3)
sar ebx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x18]
and ebx, dword [esp + 0x58]
and eax, 1
add eax, dword [esp + 0x28]
and edx, 1
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x68]
mov eax, dword [edx + eax*4]
add eax, dword [esp + 0xc]
and ecx, 1
add eax, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x18], eax
test esi, esi
jle 0x10004f22
fstp st(3)
add ebx, eax
fld st(1)
mov dword [esp + 0xc], ebx
fsub st(1)
fld st(2)
fsub st(4)
jmp 0x10004e9b
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
fnstcw word [esp + 0x28]
movzx ebx, byte [ebx]
imul ebx, esi
add ebx, edx
fld qword [edi + ebx*8]
mov ebx, dword [esp + 0xc]
movzx ebx, byte [ebx + ecx]
fmul st(2)
imul ebx, esi
add ebx, edx
fld qword [edi + ebx*8]
movzx ebx, byte [eax + ecx]
movzx eax, byte [eax]
fmul st(4)
imul ebx, esi
faddp st(1)
fmul st(5)
imul eax, esi
add ebx, edx
add eax, edx
inc edx
fld qword [edi + ebx*8]
mov ebx, dword [esp + 0x20]
fmul st(4)
fld qword [edi + eax*8]
movzx eax, word [esp + 0x28]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x40], eax
faddp st(1)
fmul st(2)
faddp st(1)
fldcw word [esp + 0x40]
fistp dword [esp + 0x40]
mov al, byte [esp + 0x40]
mov byte [ebx + edx - 1], al
fldcw word [esp + 0x28]
cmp edx, esi
jl 0x10004e97
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
jmp 0x10004f28
fstp st(1)
fstp st(0)
fxch st(1)
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
add eax, dword [esp + 0x64]
add edx, dword [esp + 0x60]
add dword [esp + 0x20], esi
dec dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], edx
jne 0x10004df4
fstp st(1)
jmp 0x10004f5c
mov ebx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [ebp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
push ecx
push edx
push eax
mov eax, dword [esp + 0x44]
push eax
cmp esi, 3
jne 0x10004f81
call fcn.100274b0
jmp 0x10004f86
call fcn.10027880
add ebx, 4
add esp, 0x10
dec dword [esp + 0x34]
mov dword [esp + 0x10], ebx
jne 0x10004b70
fld1
mov ecx, dword [esp + 0x5c]
fld qword [0x1007e1f8]
fxch st(1)
cmp ecx, dword [esp + 0x94]
jg 0x10005230
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x80]
sub edx, eax
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x88]
sub edx, eax
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x7c]
lea ebx, [eax + ecx*4]
sub edx, eax
mov eax, dword [esp + 0x94]
sub eax, ecx
inc eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x10], eax
jmp 0x10005008
fld qword [0x1007e1f8]
fld1
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + ebx]
mov ecx, dword [esp + 0x4c]
mov ecx, dword [ecx + ebx]
mov eax, dword [ebx]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x8c]
add dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx + ebx]
sub ecx, edx
inc ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x3c], ecx
test ecx, ecx
jle 0x100051e0
mov edx, dword [esp + 0x1c]
add edx, 0xffff8000
add eax, 0xffff8000
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ecx
jmp 0x10005068
fxch st(1)
mov ecx, eax
and eax, 0xffff
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
sar ecx, 0x10
mov dword [esp + 0x1c], ecx
mov eax, ecx
sub ecx, dword [esp + 0x70]
fmul st(2)
sar eax, 0xf
mov dword [esp + 0x18], eax
mov ebx, edx
not eax
sar ebx, 0x10
inc ecx
and edx, 0xffff
mov dword [esp + 0x28], ebx
sar ecx, 0x1f
and ecx, eax
mov eax, ebx
sub ebx, dword [esp + 0x6c]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
sar eax, 0xf
mov edx, eax
inc ebx
not edx
fmul st(3)
sar ebx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x18]
and ebx, dword [esp + 0x58]
and eax, 1
add eax, dword [esp + 0x28]
and edx, 1
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x68]
mov eax, dword [edx + eax*4]
add eax, dword [esp + 0xc]
and ecx, 1
add eax, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x18], eax
test esi, esi
jle 0x100051a4
fstp st(3)
add ebx, eax
fld st(1)
mov dword [esp + 0xc], ebx
fsub st(1)
fld st(2)
fsub st(4)
jmp 0x1000510d
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
fnstcw word [esp + 0x28]
movzx ebx, byte [ebx]
imul ebx, esi
add ebx, edx
fld qword [edi + ebx*8]
mov ebx, dword [esp + 0xc]
movzx ebx, byte [ebx + ecx]
fmul st(2)
imul ebx, esi
add ebx, edx
fld qword [edi + ebx*8]
movzx ebx, byte [eax + ecx]
movzx eax, byte [eax]
fmul st(4)
imul ebx, esi
faddp st(1)
fmul st(5)
imul eax, esi
add ebx, edx
add eax, edx
inc edx
fld qword [edi + ebx*8]
mov ebx, dword [esp + 0x20]
fmul st(4)
fld qword [edi + eax*8]
movzx eax, word [esp + 0x28]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x94], eax
faddp st(1)
fmul st(2)
faddp st(1)
fldcw word [esp + 0x94]
fistp dword [esp + 0x94]
mov al, byte [esp + 0x94]
mov byte [ebx + edx - 1], al
fldcw word [esp + 0x28]
cmp edx, esi
jl 0x10005109
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
jmp 0x100051aa
fstp st(1)
fstp st(0)
fxch st(1)
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
add eax, dword [esp + 0x64]
add edx, dword [esp + 0x60]
add dword [esp + 0x20], esi
dec dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], edx
jne 0x10005066
mov ebx, dword [esp + 0x34]
fstp st(1)
mov edx, dword [esp + 0x54]
jmp 0x100051e2
fstp st(0)
mov eax, dword [esp + 0x44]
fstp st(0)
add eax, edx
mov edx, dword [ebp + 0x10]
push edx
push ecx
push eax
mov eax, dword [esp + 0x44]
push eax
cmp esi, 3
jne 0x10005201
call fcn.100274b0
jmp 0x10005206
call fcn.10027880
add ebx, 4
add esp, 0x10
dec dword [esp + 0x10]
mov dword [esp + 0x34], ebx
jne 0x10005000
mov ecx, dword [esp + 0x38]
push ecx
call sub.MSVCR100.dll_free
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x38]
push ecx
call sub.MSVCR100.dll_free
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x20]
dec eax
cmp eax, 5
ja case.default.0x10005264
jmp dword [eax*4 + 0x10008904]
fld qword [0x1007e1f8]
mov dword [esp + 0x5c], ebx
fld1
cmp ebx, dword [esp + 0x40]
jge 0x10005482
mov eax, dword [esp + 0x80]
sub eax, ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x88]
sub eax, ecx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x7c]
sub eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x40]
sub eax, ebx
mov dword [esp + 0x3c], eax
lea edx, [ecx + ebx*4]
add eax, ebx
mov dword [esp + 0x24], edx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x50]
mov ebx, dword [eax + edx]
mov eax, dword [edx]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + edx]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x8c]
add dword [esp + 0x44], eax
mov eax, ebx
imul eax, esi
add eax, dword [esp + 0x44]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x48]
mov edi, dword [eax + edx]
sub edi, ebx
inc edi
test edi, edi
jle 0x10005471
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
add edx, 0xffff8000
add eax, 0xffff8000
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edi
mov edi, eax
and eax, 0xffff
sar edi, 0x10
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
mov ecx, edx
and edx, 0xffff
mov eax, edi
mov dword [esp + 0x1c], edi
fmul st(2)
sub edi, dword [esp + 0x70]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
sar eax, 0xf
mov edx, eax
sar ecx, 0x10
inc edi
fmul st(3)
and eax, 1
add eax, dword [esp + 0x1c]
not edx
mov dword [esp + 0x28], ecx
imul eax, esi
sar edi, 0x1f
and edi, edx
mov edx, ecx
sub ecx, dword [esp + 0x6c]
sar edx, 0xf
inc ecx
mov ebx, edx
sar ecx, 0x1f
not ebx
and ecx, ebx
mov ebx, dword [esp + 0x68]
and ecx, dword [esp + 0x58]
and edx, 1
add edx, dword [esp + 0x28]
and edi, esi
add eax, dword [ebx + edx*4]
xor ebx, ebx
mov dword [esp + 0x18], eax
test esi, esi
jle 0x1000543c
fld st(2)
lea edx, [eax + edi]
fsub st(2)
mov eax, ecx
fld st(3)
sub eax, edi
fsub st(2)
mov dword [esp + 0xc], eax
fstp qword [esp + 0x98]
jmp 0x100053c0
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + edx]
fnstcw word [esp + 0x28]
movzx edi, byte [edx + ecx]
inc ebx
inc edx
fld qword [edi*8 + 0x1007f290]
mov edi, dword [esp + 0x38]
fmul st(3)
fld qword [eax*8 + 0x1007f290]
movzx eax, byte [edx - 1]
fmul st(2)
faddp st(1)
fmul st(2)
fld qword [eax*8 + 0x1007f290]
mov eax, dword [esp + 0x18]
movzx eax, byte [eax]
fmul st(4)
inc dword [esp + 0x18]
fld qword [eax*8 + 0x1007f290]
movzx eax, word [esp + 0x28]
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x40], eax
faddp st(1)
fmul qword [esp + 0x98]
faddp st(1)
fldcw word [esp + 0x40]
fistp dword [esp + 0x40]
mov al, byte [esp + 0x40]
mov byte [ebx + edi - 1], al
fldcw word [esp + 0x28]
cmp ebx, esi
jl 0x100053bc
fstp st(2)
mov eax, dword [esp + 0x14]
fstp st(1)
mov edx, dword [esp + 0x34]
fstp st(0)
add eax, dword [esp + 0x64]
add edx, dword [esp + 0x60]
add dword [esp + 0x38], esi
dec dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], edx
jne 0x1000531d
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x24]
add edx, 4
dec dword [esp + 0x3c]
mov dword [esp + 0x24], edx
jne 0x100052bc
mov edx, dword [esp + 0x5c]
cmp edx, dword [esp + 0x10]
jg 0x10005897
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x5c]
sub ecx, edx
sub ebx, edx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x88]
sub ecx, edx
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x84]
sub ebx, edx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x30]
sub ecx, edi
inc ecx
lea eax, [edx + edi*4]
sub ebx, edx
add edi, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x84], ebx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x5c], edi
jmp 0x100054f3
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x78]
mov edi, dword [eax + ecx]
mov ecx, dword [eax]
mov edx, dword [esp + 0x74]
inc ecx
mov dword [esp + 0x40], ecx
mov ecx, dword [eax + edx]
mov edx, dword [eax + ebx]
mov ebx, dword [esp + 0x4c]
mov ebx, dword [eax + ebx]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x50]
mov ebx, dword [eax + ebx]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x8c]
add dword [esp + 0x44], ebx
inc edx
mov dword [esp + 0x54], edi
mov dword [esp + 0x48], edx
cmp ecx, edx
jge 0x100056d4
mov ebx, edi
imul ebx, esi
add ebx, dword [esp + 0x44]
sub ecx, edi
mov dword [esp + 0x38], ebx
test ecx, ecx
jle 0x100056d6
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
add edx, 0xffff8000
add eax, 0xffff8000
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], ecx
jmp 0x10005577
fxch st(1)
mov edi, eax
and eax, 0xffff
sar edi, 0x10
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov ecx, edx
and edx, 0xffff
mov eax, edi
mov dword [esp + 0x1c], edi
fmul st(2)
sub edi, dword [esp + 0x70]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
sar eax, 0xf
mov edx, eax
sar ecx, 0x10
inc edi
fmul st(3)
and eax, 1
add eax, dword [esp + 0x1c]
not edx
mov dword [esp + 0x28], ecx
imul eax, esi
sar edi, 0x1f
and edi, edx
mov edx, ecx
sub ecx, dword [esp + 0x6c]
sar edx, 0xf
inc ecx
mov ebx, edx
sar ecx, 0x1f
not ebx
and ecx, ebx
mov ebx, dword [esp + 0x68]
and ecx, dword [esp + 0x58]
and edx, 1
add edx, dword [esp + 0x28]
and edi, esi
add eax, dword [ebx + edx*4]
xor ebx, ebx
mov dword [esp + 0x18], eax
test esi, esi
jle 0x1000569a
fstp st(3)
lea edx, [eax + edi]
fld st(1)
mov eax, ecx
fsub st(1)
sub eax, edi
fld st(2)
mov dword [esp + 0xc], eax
fsub st(4)
jmp 0x10005615
mov eax, dword [esp + 0xc]
movzx eax, byte [edx + eax]
fnstcw word [esp + 0x28]
movzx edi, byte [edx + ecx]
inc ebx
inc edx
fld qword [edi*8 + 0x1007f290]
mov edi, dword [esp + 0x38]
fmul st(3)
fld qword [eax*8 + 0x1007f290]
movzx eax, byte [edx - 1]
fmul st(3)
faddp st(1)
fmul st(5)
fld qword [eax*8 + 0x1007f290]
mov eax, dword [esp + 0x18]
movzx eax, byte [eax]
fmul st(4)
inc dword [esp + 0x18]
fld qword [eax*8 + 0x1007f290]
movzx eax, word [esp + 0x28]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x10], eax
faddp st(1)
fmul st(2)
faddp st(1)
fldcw word [esp + 0x10]
fistp dword [esp + 0x10]
mov al, byte [esp + 0x10]
mov byte [ebx + edi - 1], al
fldcw word [esp + 0x28]
cmp ebx, esi
jl 0x10005611
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
jmp 0x100056a0
fstp st(1)
fstp st(0)
fxch st(1)
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
add eax, dword [esp + 0x64]
add edx, dword [esp + 0x60]
add dword [esp + 0x38], esi
dec dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], edx
jne 0x10005575
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x48]
jmp 0x100056d8
mov edx, edi
fxch st(1)
mov ebx, dword [esp + 0x4c]
mov ecx, edx
sub ecx, edi
mov edi, ecx
imul ecx, dword [esp + 0x60]
imul edi, dword [esp + 0x64]
add edi, dword [eax + ebx]
mov ebx, dword [esp + 0x50]
add ecx, dword [eax + ebx]
mov ebx, ecx
mov ecx, edx
imul ecx, esi
add ecx, dword [esp + 0x44]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x40]
sub ecx, edx
test ecx, ecx
jle 0x1000587d
lea edx, [ebx - 0x8000]
lea eax, [edi - 0x8000]
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], ecx
mov ecx, eax
and eax, 0xffff
sar ecx, 0x10
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov edi, edx
and edx, 0xffff
mov eax, ecx
mov dword [esp + 0x1c], ecx
fmul st(1)
sub ecx, dword [esp + 0x70]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
sar eax, 0xf
mov edx, eax
sar edi, 0x10
inc ecx
fmul st(2)
and eax, 1
add eax, dword [esp + 0x1c]
not edx
mov dword [esp + 0x28], edi
imul eax, esi
sar ecx, 0x1f
and ecx, edx
mov edx, edi
sub edi, dword [esp + 0x6c]
sar edx, 0xf
inc edi
mov ebx, edx
sar edi, 0x1f
not ebx
and edi, ebx
mov ebx, dword [esp + 0x68]
and edi, dword [esp + 0x58]
and edx, 1
add edx, dword [esp + 0x28]
and ecx, esi
add eax, dword [ebx + edx*4]
xor ebx, ebx
mov dword [esp + 0x18], eax
test esi, esi
jle 0x1000584f
fstp st(2)
lea edx, [eax + edi]
fld st(2)
mov eax, ecx
fsub st(1)
sub eax, edi
fld st(3)
mov dword [esp + 0x10], eax
fsub st(3)
jmp 0x100057c9
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + edx]
fnstcw word [esp + 0x28]
mov edi, dword [esp + 0x38]
inc ebx
fld qword [eax*8 + 0x1007f290]
mov eax, dword [esp + 0x18]
movzx eax, byte [eax]
fmul st(3)
inc dword [esp + 0x18]
inc edx
fld qword [eax*8 + 0x1007f290]
movzx eax, byte [edx + ecx - 1]
fmul st(3)
faddp st(1)
fmul st(1)
fld qword [eax*8 + 0x1007f290]
movzx eax, byte [edx - 1]
fmul st(4)
fld qword [eax*8 + 0x1007f290]
movzx eax, word [esp + 0x28]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0xc], eax
faddp st(1)
fmul st(5)
faddp st(1)
fldcw word [esp + 0xc]
fistp dword [esp + 0xc]
mov al, byte [esp + 0xc]
mov byte [ebx + edi - 1], al
fldcw word [esp + 0x28]
cmp ebx, esi
jl 0x100057c5
fstp st(2)
fstp st(0)
fstp st(1)
fstp st(0)
fld qword [0x1007e1f8]
jmp 0x10005853
fstp st(1)
fstp st(0)
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
add eax, dword [esp + 0x64]
add edx, dword [esp + 0x60]
add dword [esp + 0x38], esi
dec dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], edx
jne 0x1000572b
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x90]
fxch st(1)
add eax, 4
dec dword [esp + 0x30]
mov dword [esp + 0x20], eax
jne 0x100054ec
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x94]
cmp edx, eax
jg 0x100062c3
mov ebx, dword [esp + 0x80]
sub eax, dword [esp + 0x5c]
lea edi, [ecx + edx*4]
mov edx, dword [esp + 0x88]
sub edx, ecx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x7c]
sub ebx, ecx
sub edx, ecx
inc eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x30], eax
jmp 0x100058e2
fxch st(1)
mov ecx, dword [edi]
mov eax, dword [esp + 0x4c]
mov edx, dword [ebx + edi]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + edi]
mov eax, dword [esp + 0x8c]
add dword [esp + 0x44], eax
mov eax, edx
imul eax, esi
add eax, dword [esp + 0x44]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx + edi]
sub ecx, edx
inc ecx
mov dword [esp + 0x38], eax
test ecx, ecx
jle 0x10005a9c
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
add edx, 0xffff8000
add eax, 0xffff8000
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ecx
jmp 0x10005943
fxch st(1)
mov edi, eax
and eax, 0xffff
sar edi, 0x10
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov ecx, edx
and edx, 0xffff
mov eax, edi
mov dword [esp + 0x1c], edi
fmul st(2)
sub edi, dword [esp + 0x70]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
sar eax, 0xf
mov edx, eax
sar ecx, 0x10
inc edi
fmul st(3)
and eax, 1
add eax, dword [esp + 0x1c]
not edx
mov dword [esp + 0x28], ecx
imul eax, esi
sar edi, 0x1f
and edi, edx
mov edx, ecx
sub ecx, dword [esp + 0x6c]
sar edx, 0xf
inc ecx
mov ebx, edx
sar ecx, 0x1f
not ebx
and ecx, ebx
mov ebx, dword [esp + 0x68]
and ecx, dword [esp + 0x58]
and edx, 1
add edx, dword [esp + 0x28]
and edi, esi
add eax, dword [ebx + edx*4]
xor ebx, ebx
mov dword [esp + 0x18], eax
test esi, esi
jle 0x10005a66
fstp st(3)
lea edx, [eax + edi]
fld st(1)
mov eax, ecx
fsub st(1)
sub eax, edi
fld st(2)
mov dword [esp + 0xc], eax
fsub st(4)
jmp 0x100059e1
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + edx]
fnstcw word [esp + 0x28]
mov edi, dword [esp + 0x38]
inc ebx
fld qword [eax*8 + 0x1007f290]
movzx eax, byte [ecx + edx]
fmul st(2)
inc edx
fld qword [eax*8 + 0x1007f290]
movzx eax, byte [edx - 1]
fmul st(4)
faddp st(1)
fmul st(5)
fld qword [eax*8 + 0x1007f290]
mov eax, dword [esp + 0x18]
movzx eax, byte [eax]
fmul st(4)
inc dword [esp + 0x18]
fld qword [eax*8 + 0x1007f290]
movzx eax, word [esp + 0x28]
fmul st(4)
or eax, 0xc00
mov dword [esp + 0x10], eax
faddp st(1)
fmul st(2)
faddp st(1)
fldcw word [esp + 0x10]
fistp dword [esp + 0x10]
mov al, byte [esp + 0x10]
mov byte [ebx + edi - 1], al
fldcw word [esp + 0x28]
cmp ebx, esi
jl 0x100059dd
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
jmp 0x10005a6c
fstp st(1)
fstp st(0)
fxch st(1)
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
add eax, dword [esp + 0x64]
add edx, dword [esp + 0x60]
add dword [esp + 0x38], esi
dec dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], edx
jne 0x10005941
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x50]
jmp 0x10005a9e
fxch st(1)
add edi, 4
dec dword [esp + 0x30]
mov dword [esp + 0x24], edi
jne 0x100058e0
fstp st(1)
xor eax, eax
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x40]
fld qword [0x1007e1f8]
sar dword [esp + 0x58], 1
fld1
mov dword [esp + 0x5c], ebx
cmp ebx, eax
jge 0x10005cbf
lea edx, [ecx + ebx*4]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x80]
sub edx, ecx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x88]
sub edx, ecx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x7c]
sub eax, ebx
sub edx, ecx
mov dword [esp + 0x34], eax
add eax, ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx + eax]
mov edi, dword [esp + 0x4c]
mov edi, dword [edi + eax]
mov edx, dword [eax]
mov ebx, ecx
imul ebx, esi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x44]
add edi, dword [esp + 0x8c]
mov dword [esp + 0x44], edi
lea edi, [edi + ebx*2]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x48]
mov eax, dword [edi + eax]
sub eax, ecx
inc eax
test eax, eax
jle 0x10005cb0
mov ecx, dword [esp + 0x1c]
add ecx, 0xffff8000
add edx, 0xffff8000
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edi, eax
sar edi, 0x10
and eax, 0xffff
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
mov eax, edi
mov ebx, ecx
mov dword [esp + 0x1c], edi
sub edi, dword [esp + 0x70]
fmul st(2)
sar eax, 0xf
sar ebx, 0x10
and ecx, 0xffff
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
mov edx, eax
mov dword [esp + 0x28], ebx
mov ecx, ebx
sub ebx, dword [esp + 0x6c]
fmul st(3)
and eax, 1
add eax, dword [esp + 0x1c]
inc edi
not edx
imul eax, esi
sar ecx, 0xf
sar edi, 0x1f
and edi, edx
inc ebx
mov edx, ecx
sar ebx, 0x1f
not edx
and ecx, 1
add ecx, dword [esp + 0x28]
and ebx, edx
mov edx, dword [esp + 0x68]
mov ecx, dword [edx + ecx*4]
and ebx, dword [esp + 0x58]
and edi, esi
lea edx, [ecx + eax*2]
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], 0
test esi, esi
jle 0x10005c8b
fld st(2)
lea eax, [ebx + edi]
fsub st(2)
add eax, eax
fld st(3)
mov dword [esp + 0x2c], eax
fsub st(2)
fstp qword [esp + 0x98]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
movsx edx, word [ecx + eax]
movsx ecx, word [eax + ebx*2]
mov dword [esp + 0x40], edx
movsx edx, word [eax + edi*2]
fild dword [esp + 0x40]
movsx eax, word [eax]
fmul st(3)
mov dword [esp + 0x40], ecx
fild dword [esp + 0x40]
mov dword [esp + 0x40], edx
fmul st(2)
faddp st(1)
fmul st(2)
fild dword [esp + 0x40]
mov dword [esp + 0x40], eax
fmul st(4)
fild dword [esp + 0x40]
fmul st(3)
faddp st(1)
fmul qword [esp + 0x98]
faddp st(1)
call fcn.1007d380
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x38]
add dword [esp + 0x18], 2
mov word [edx + ecx*2], ax
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, esi
jl 0x10005c1c
fstp st(2)
mov eax, dword [esp + 0x64]
fstp st(1)
add dword [esp + 0x20], eax
fstp st(0)
mov ecx, dword [esp + 0x60]
add dword [esp + 0x24], ecx
lea eax, [esi + esi]
add dword [esp + 0x38], eax
dec dword [esp + 0x14]
jne 0x10005b70
add dword [esp + 0x3c], 4
dec dword [esp + 0x34]
jne 0x10005b0f
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x5c], ecx
jg 0x100060b5
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x5c]
lea edi, [eax + edx*4]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x80]
sub edi, eax
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x84]
sub edi, eax
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0x30]
sub edi, eax
mov dword [esp + 0x84], edi
mov edi, dword [esp + 0x90]
sub edi, eax
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x88]
sub ecx, edx
inc ecx
sub edi, eax
add edx, ecx
mov dword [esp + 0x50], edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x78]
mov edi, dword [eax + edx]
mov ebx, dword [esp + 0x4c]
mov ebx, dword [ebx + edx]
mov eax, dword [edx]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x50]
mov ebx, dword [ebx + edx]
inc eax
mov dword [esp + 0x40], eax
mov eax, dword [ecx + edx]
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edx]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x44]
add ebx, dword [esp + 0x8c]
inc ecx
mov dword [esp + 0x54], edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], ebx
cmp eax, ecx
jge 0x10005f0f
imul edi, esi
lea edi, [ebx + edi*2]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x54]
sub eax, edi
test eax, eax
jle 0x10005f11
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
add edx, 0xffff8000
add ecx, 0xffff8000
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edi, eax
sar edi, 0x10
and eax, 0xffff
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
mov eax, edi
mov ebx, ecx
mov dword [esp + 0x1c], edi
sub edi, dword [esp + 0x70]
fmul st(2)
sar eax, 0xf
sar ebx, 0x10
and ecx, 0xffff
mov edx, eax
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
mov dword [esp + 0x28], ebx
mov ecx, ebx
sub ebx, dword [esp + 0x6c]
and eax, 1
fmul st(3)
add eax, dword [esp + 0x1c]
inc edi
not edx
imul eax, esi
sar ecx, 0xf
sar edi, 0x1f
and edi, edx
inc ebx
mov edx, ecx
sar ebx, 0x1f
not edx
and ecx, 1
add ecx, dword [esp + 0x28]
and ebx, edx
mov edx, dword [esp + 0x68]
mov ecx, dword [edx + ecx*4]
and ebx, dword [esp + 0x58]
and edi, esi
lea edx, [ecx + eax*2]
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], 0
test esi, esi
jle 0x10005f09
fstp st(3)
lea eax, [ebx + edi]
fld st(1)
add eax, eax
fsub st(1)
mov dword [esp + 0x2c], eax
fld st(2)
fsub st(4)
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
movsx edx, word [ecx + eax]
movsx ecx, word [eax + ebx*2]
mov dword [esp + 0x30], edx
movsx edx, word [eax + edi*2]
fild dword [esp + 0x30]
movsx eax, word [eax]
fmul st(3)
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
mov dword [esp + 0x30], edx
fmul st(3)
faddp st(1)
fmul st(5)
fild dword [esp + 0x30]
mov dword [esp + 0x30], eax
fmul st(4)
fild dword [esp + 0x30]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
call fcn.1007d380
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x38]
add dword [esp + 0x18], 2
mov word [edx + ecx*2], ax
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, esi
jl 0x10005e62
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
fxch st(1)
mov eax, dword [esp + 0x64]
add dword [esp + 0x20], eax
mov ecx, dword [esp + 0x60]
add dword [esp + 0x24], ecx
lea eax, [esi + esi]
add dword [esp + 0x38], eax
dec dword [esp + 0x14]
jne 0x10005dbb
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x54]
jmp 0x10005f11
fstp st(1)
fstp st(0)
jmp 0x10005eda
mov ecx, edi
mov ebx, dword [esp + 0x4c]
mov eax, ecx
sub eax, edi
mov edi, eax
imul eax, dword [esp + 0x60]
imul edi, dword [esp + 0x64]
add edi, dword [ebx + edx]
mov ebx, dword [esp + 0x50]
add eax, dword [ebx + edx]
mov ebx, dword [esp + 0x44]
mov edx, ecx
imul edx, esi
lea edx, [ebx + edx*2]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x40]
sub edx, ecx
mov ecx, edx
test ecx, ecx
jle 0x100060a6
add eax, 0xffff8000
add edi, 0xffff8000
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edi, eax
sar edi, 0x10
and eax, 0xffff
mov ebx, ecx
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
and ecx, 0xffff
mov dword [esp + 0x1c], edi
mov eax, edi
sub edi, dword [esp + 0x70]
fmul st(2)
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
sar eax, 0xf
sar ebx, 0x10
inc edi
mov ecx, eax
fmul st(3)
not ecx
mov dword [esp + 0x28], ebx
sar edi, 0x1f
and edi, ecx
mov ecx, ebx
sub ebx, dword [esp + 0x6c]
and eax, 1
add eax, dword [esp + 0x1c]
sar ecx, 0xf
inc ebx
imul eax, esi
mov edx, ecx
sar ebx, 0x1f
not edx
and ecx, 1
add ecx, dword [esp + 0x28]
and ebx, edx
mov edx, dword [esp + 0x68]
mov ecx, dword [edx + ecx*4]
and ebx, dword [esp + 0x58]
and edi, esi
lea edx, [ecx + eax*2]
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], 0
test esi, esi
jle 0x1000610a
fstp st(3)
lea eax, [ebx + edi]
fld st(1)
add eax, eax
fsub st(1)
mov dword [esp + 0x2c], eax
fld st(2)
fsub st(4)
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
movsx edx, word [ecx + eax]
movsx ecx, word [eax + ebx*2]
mov dword [esp + 0x30], edx
movsx edx, word [eax + edi*2]
fild dword [esp + 0x30]
movsx eax, word [eax]
fmul st(3)
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
mov dword [esp + 0x30], edx
fmul st(3)
faddp st(1)
fmul st(5)
fild dword [esp + 0x30]
mov dword [esp + 0x30], eax
fmul st(4)
fild dword [esp + 0x30]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
call fcn.1007d380
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x38]
add dword [esp + 0x18], 2
mov word [edx + ecx*2], ax
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, esi
jl 0x1000600d
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
fxch st(1)
mov eax, dword [esp + 0x64]
add dword [esp + 0x20], eax
mov ecx, dword [esp + 0x60]
add dword [esp + 0x24], ecx
lea eax, [esi + esi]
add dword [esp + 0x38], eax
dec dword [esp + 0x14]
jne 0x10005f66
add dword [esp + 0x10], 4
dec dword [esp + 0x34]
jne 0x10005d2a
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x94]
jg 0x100062c3
mov edi, dword [esp + 0x90]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x7c]
lea eax, [edi + eax*4]
sub ecx, edi
sub edx, edi
sub ebx, edi
mov edi, dword [esp + 0x94]
sub edi, dword [esp + 0x5c]
mov dword [esp + 0x30], eax
inc edi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x34], edi
jmp 0x1000611f
fstp st(1)
fstp st(0)
jmp 0x10006085
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx + eax]
mov edx, dword [edx + eax]
mov edi, dword [eax]
mov ebx, ecx
imul ebx, esi
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x44]
add edx, dword [esp + 0x8c]
mov dword [esp + 0x44], edx
lea edx, [edx + ebx*2]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x48]
mov eax, dword [edx + eax]
sub eax, ecx
inc eax
test eax, eax
jle 0x100062b4
mov ecx, dword [esp + 0x1c]
add ecx, 0xffff8000
add edi, 0xffff8000
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edi, eax
sar edi, 0x10
and eax, 0xffff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov eax, edi
mov ebx, ecx
mov dword [esp + 0x1c], edi
sub edi, dword [esp + 0x70]
fmul st(2)
sar eax, 0xf
sar ebx, 0x10
and ecx, 0xffff
mov edx, eax
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
mov dword [esp + 0x28], ebx
mov ecx, ebx
sub ebx, dword [esp + 0x6c]
and eax, 1
fmul st(3)
add eax, dword [esp + 0x1c]
inc edi
not edx
imul eax, esi
sar ecx, 0xf
sar edi, 0x1f
and edi, edx
inc ebx
mov edx, ecx
sar ebx, 0x1f
not edx
and ecx, 1
add ecx, dword [esp + 0x28]
and ebx, edx
mov edx, dword [esp + 0x68]
mov ecx, dword [edx + ecx*4]
and ebx, dword [esp + 0x58]
and edi, esi
lea edx, [ecx + eax*2]
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], 0
test esi, esi
jle 0x100062d0
fstp st(3)
lea eax, [ebx + edi]
fld st(1)
add eax, eax
fsub st(1)
mov dword [esp + 0x2c], eax
fld st(2)
fsub st(4)
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
movsx edx, word [ecx + eax]
movsx ecx, word [eax + ebx*2]
mov dword [esp + 0x10], edx
movsx edx, word [eax + edi*2]
fild dword [esp + 0x10]
movsx eax, word [eax]
fmul st(3)
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fmul st(3)
faddp st(1)
fmul st(5)
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
fmul st(4)
fild dword [esp + 0x10]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
call fcn.1007d380
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x38]
add dword [esp + 0x18], 2
mov word [edx + ecx*2], ax
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, esi
jl 0x1000621b
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
fxch st(1)
mov eax, dword [esp + 0x64]
add dword [esp + 0x20], eax
mov ecx, dword [esp + 0x60]
add dword [esp + 0x24], ecx
lea eax, [esi + esi]
add dword [esp + 0x38], eax
dec dword [esp + 0x14]
jne 0x10006174
add dword [esp + 0x30], 4
dec dword [esp + 0x34]
jne 0x10006113
fstp st(0)
xor eax, eax
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(1)
fstp st(0)
jmp 0x10006293
sar dword [esp + 0x58], 1
fld qword [0x1007e1f8]
fld1
mov edi, ebx
cmp ebx, dword [esp + 0x40]
jge 0x10006500
mov edx, dword [esp + 0x80]
sub edx, ecx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x88]
sub edx, ecx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x7c]
lea eax, [ecx + ebx*4]
sub edx, ecx
mov ecx, dword [esp + 0x40]
sub ecx, ebx
lea edi, [ecx + ebx]
mov dword [esp + 0x24], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x5c], edi
mov edx, dword [esp + 0x50]
mov edx, dword [edx + eax]
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x4c]
mov ecx, dword [ecx + eax]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x44]
add ecx, dword [esp + 0x8c]
mov ebx, edx
imul ebx, esi
mov dword [esp + 0x44], ecx
lea ecx, [ecx + ebx*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx + eax]
sub ecx, edx
inc ecx
test ecx, ecx
jle 0x100064ef
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
add edi, 0xffff8000
add eax, 0xffff8000
mov dword [esp + 0x34], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ecx
mov ecx, eax
and eax, 0xffff
mov edx, edi
sar ecx, 0x10
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
and edi, 0xffff
mov dword [esp + 0xc], edi
mov dword [esp + 0x1c], ecx
mov eax, ecx
fmul st(2)
sub ecx, dword [esp + 0x70]
fild dword [esp + 0xc]
sar eax, 0xf
sar edx, 0x10
mov edi, eax
fmul st(3)
not edi
inc ecx
and eax, 1
add eax, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
sar ecx, 0x1f
imul eax, esi
and ecx, edi
mov edi, edx
sub edx, dword [esp + 0x6c]
sar edi, 0xf
mov ebx, edi
inc edx
and edi, 1
add edi, dword [esp + 0x28]
sar edx, 0x1f
not ebx
and edx, ebx
mov ebx, dword [esp + 0x68]
mov edi, dword [ebx + edi*4]
and edx, dword [esp + 0x58]
lea eax, [edi + eax*2]
and ecx, esi
xor edi, edi
mov dword [esp + 0xc], eax
test esi, esi
jle 0x100064ba
fld st(2)
lea ebx, [edx + ecx]
fsub st(2)
add ebx, ebx
fld st(3)
mov dword [esp + 0x2c], ebx
fsub st(2)
fstp qword [esp + 0x98]
jmp 0x10006432
mov ebx, dword [esp + 0x2c]
movzx ebx, word [ebx + eax]
fnstcw word [esp + 0x28]
mov dword [esp + 0x40], ebx
movzx ebx, word [eax + edx*2]
fild dword [esp + 0x40]
mov dword [esp + 0x40], ebx
movzx ebx, word [eax + ecx*2]
fmul st(3)
fild dword [esp + 0x40]
movzx eax, word [eax]
fmul st(2)
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x18]
faddp st(1)
inc edi
fmul st(2)
fild dword [esp + 0x40]
mov dword [esp + 0x40], eax
movzx eax, word [esp + 0x28]
or eax, 0xc00
fmul st(4)
fild dword [esp + 0x40]
mov dword [esp + 0x40], eax
fmul st(3)
faddp st(1)
fmul qword [esp + 0x98]
faddp st(1)
fldcw word [esp + 0x40]
fistp dword [esp + 0x40]
mov ax, word [esp + 0x40]
mov word [ebx + edi*2 - 2], ax
mov eax, dword [esp + 0xc]
fldcw word [esp + 0x28]
add eax, 2
mov dword [esp + 0xc], eax
cmp edi, esi
jl 0x1000642e
fstp st(2)
mov eax, dword [esp + 0x14]
fstp st(1)
mov edi, dword [esp + 0x34]
fstp st(0)
add eax, dword [esp + 0x64]
add edi, dword [esp + 0x60]
lea ecx, [esi + esi]
add dword [esp + 0x18], ecx
dec dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], edi
jne 0x1000638e
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x5c]
add eax, 4
dec dword [esp + 0x3c]
mov dword [esp + 0x24], eax
jne 0x1000632a
mov edx, dword [esp + 0x10]
cmp edi, edx
jg 0x1000693a
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x80]
sub ebx, ecx
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x84]
sub ebx, ecx
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x30]
sub ebx, ecx
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x90]
sub ebx, ecx
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x88]
sub edx, edi
inc edx
lea eax, [ecx + edi*4]
sub ebx, ecx
add edi, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x50], ebx
mov dword [esp + 0x30], edx
mov dword [esp + 0x5c], edi
mov ecx, dword [esp + 0x78]
mov ebx, dword [ecx + eax]
mov edi, dword [esp + 0x4c]
mov edi, dword [edi + eax]
mov ecx, dword [eax]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x50]
mov edi, dword [edi + eax]
inc ecx
mov dword [esp + 0x40], ecx
mov ecx, dword [edx + eax]
mov edx, dword [esp + 0x84]
mov edx, dword [edx + eax]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x44]
add edi, dword [esp + 0x8c]
inc edx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], edi
cmp ecx, edx
jge 0x10006762
imul ebx, esi
lea edi, [edi + ebx*2]
mov ebx, dword [esp + 0x54]
sub ecx, ebx
mov dword [esp + 0x18], edi
test ecx, ecx
jle 0x10006764
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
add edi, 0xffff8000
add eax, 0xffff8000
mov dword [esp + 0x34], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], ecx
jmp 0x100065f5
fxch st(1)
mov ecx, eax
and eax, 0xffff
mov edx, edi
sar ecx, 0x10
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
and edi, 0xffff
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], edi
mov eax, ecx
fmul st(2)
sub ecx, dword [esp + 0x70]
fild dword [esp + 0x10]
sar eax, 0xf
sar edx, 0x10
mov edi, eax
fmul st(3)
not edi
inc ecx
and eax, 1
add eax, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
sar ecx, 0x1f
imul eax, esi
and ecx, edi
mov edi, edx
sub edx, dword [esp + 0x6c]
sar edi, 0xf
mov ebx, edi
inc edx
and edi, 1
add edi, dword [esp + 0x28]
sar edx, 0x1f
not ebx
and edx, ebx
mov ebx, dword [esp + 0x68]
mov edi, dword [ebx + edi*4]
and edx, dword [esp + 0x58]
lea eax, [edi + eax*2]
and ecx, esi
xor edi, edi
mov dword [esp + 0xc], eax
test esi, esi
jle 0x10006725
fstp st(3)
lea ebx, [edx + ecx]
fld st(1)
add ebx, ebx
fsub st(1)
mov dword [esp + 0x2c], ebx
fld st(2)
fsub st(4)
jmp 0x10006694
mov ebx, dword [esp + 0x2c]
movzx ebx, word [ebx + eax]
fnstcw word [esp + 0x28]
mov dword [esp + 0x10], ebx
movzx ebx, word [eax + edx*2]
fild dword [esp + 0x10]
mov dword [esp + 0x10], ebx
movzx ebx, word [eax + ecx*2]
fmul st(3)
fild dword [esp + 0x10]
movzx eax, word [eax]
fmul st(3)
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x18]
faddp st(1)
inc edi
fmul st(5)
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
movzx eax, word [esp + 0x28]
or eax, 0xc00
fmul st(4)
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fldcw word [esp + 0x10]
fistp dword [esp + 0x10]
mov ax, word [esp + 0x10]
mov word [ebx + edi*2 - 2], ax
mov eax, dword [esp + 0xc]
fldcw word [esp + 0x28]
add eax, 2
mov dword [esp + 0xc], eax
cmp edi, esi
jl 0x10006690
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
jmp 0x1000672b
fstp st(1)
fstp st(0)
fxch st(1)
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
add eax, dword [esp + 0x64]
add edi, dword [esp + 0x60]
lea ecx, [esi + esi]
add dword [esp + 0x18], ecx
dec dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], edi
jne 0x100065f3
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x54]
jmp 0x10006766
mov edx, ebx
fxch st(1)
mov edi, dword [esp + 0x4c]
mov ecx, edx
sub ecx, ebx
mov ebx, ecx
imul ecx, dword [esp + 0x60]
imul ebx, dword [esp + 0x64]
add ebx, dword [edi + eax]
mov edi, dword [esp + 0x50]
add ecx, dword [edi + eax]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x1c], ecx
mov ecx, edx
imul ecx, esi
lea ecx, [edi + ecx*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x40]
sub ecx, edx
test ecx, ecx
jle 0x10006923
mov edi, dword [esp + 0x1c]
add edi, 0xffff8000
lea eax, [ebx - 0x8000]
mov dword [esp + 0x34], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], ecx
mov ecx, eax
and eax, 0xffff
mov edx, edi
sar ecx, 0x10
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
and edi, 0xffff
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], edi
mov eax, ecx
fmul st(1)
sub ecx, dword [esp + 0x70]
fild dword [esp + 0x10]
sar eax, 0xf
sar edx, 0x10
mov edi, eax
fmul st(2)
not edi
inc ecx
and eax, 1
add eax, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
sar ecx, 0x1f
imul eax, esi
and ecx, edi
mov edi, edx
sub edx, dword [esp + 0x6c]
sar edi, 0xf
mov ebx, edi
inc edx
and edi, 1
add edi, dword [esp + 0x28]
sar edx, 0x1f
not ebx
and edx, ebx
mov ebx, dword [esp + 0x68]
mov edi, dword [ebx + edi*4]
and edx, dword [esp + 0x58]
lea eax, [edi + eax*2]
and ecx, esi
xor edi, edi
mov dword [esp + 0xc], eax
test esi, esi
jle 0x100068f2
fstp st(2)
lea ebx, [edx + ecx]
fld st(2)
add ebx, ebx
fsub st(1)
mov dword [esp + 0x2c], ebx
fld st(3)
fsub st(3)
jmp 0x10006861
mov ebx, dword [esp + 0x2c]
movzx ebx, word [ebx + eax]
fnstcw word [esp + 0x28]
mov dword [esp + 0x10], ebx
movzx ebx, word [eax + edx*2]
fild dword [esp + 0x10]
mov dword [esp + 0x10], ebx
movzx ebx, word [eax + ecx*2]
fmul st(3)
fild dword [esp + 0x10]
movzx eax, word [eax]
fmul st(3)
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x18]
faddp st(1)
inc edi
fmul st(4)
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
movzx eax, word [esp + 0x28]
or eax, 0xc00
fmul st(4)
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fldcw word [esp + 0x10]
fistp dword [esp + 0x10]
mov ax, word [esp + 0x10]
mov word [ebx + edi*2 - 2], ax
mov eax, dword [esp + 0xc]
fldcw word [esp + 0x28]
add eax, 2
mov dword [esp + 0xc], eax
cmp edi, esi
jl 0x1000685d
fstp st(2)
fstp st(0)
fstp st(1)
fstp st(0)
fld qword [0x1007e1f8]
jmp 0x100068f6
fstp st(1)
fstp st(0)
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
add eax, dword [esp + 0x64]
add edi, dword [esp + 0x60]
lea ecx, [esi + esi]
add dword [esp + 0x18], ecx
dec dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], edi
jne 0x100067c2
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x5c]
fxch st(1)
add eax, 4
dec dword [esp + 0x30]
mov dword [esp + 0x20], eax
jne 0x10006565
cmp edi, dword [esp + 0x94]
jg 0x100062c3
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x80]
sub edx, ecx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x7c]
lea eax, [ecx + edi*4]
sub ebx, ecx
sub edx, ecx
mov ecx, dword [esp + 0x94]
sub ecx, edi
inc ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x50], ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x30], ecx
jmp 0x1000698b
fxch st(1)
mov edx, dword [eax + ebx]
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x4c]
mov ecx, dword [eax + ecx]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x44]
add ecx, dword [esp + 0x8c]
mov edi, edx
imul edi, esi
mov dword [esp + 0x44], ecx
lea ecx, [ecx + edi*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x48]
mov ecx, dword [eax + ecx]
sub ecx, edx
inc ecx
test ecx, ecx
jle 0x10006b58
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
add edi, 0xffff8000
add eax, 0xffff8000
mov dword [esp + 0x34], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ecx
jmp 0x100069ef
fxch st(1)
mov ecx, eax
and eax, 0xffff
mov edx, edi
sar ecx, 0x10
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
and edi, 0xffff
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], edi
mov eax, ecx
fmul st(2)
sub ecx, dword [esp + 0x70]
fild dword [esp + 0x10]
sar eax, 0xf
sar edx, 0x10
mov edi, eax
fmul st(3)
not edi
inc ecx
and eax, 1
add eax, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
sar ecx, 0x1f
imul eax, esi
and ecx, edi
mov edi, edx
sub edx, dword [esp + 0x6c]
sar edi, 0xf
mov ebx, edi
inc edx
and edi, 1
add edi, dword [esp + 0x28]
sar edx, 0x1f
not ebx
and edx, ebx
mov ebx, dword [esp + 0x68]
mov edi, dword [ebx + edi*4]
and edx, dword [esp + 0x58]
lea eax, [edi + eax*2]
and ecx, esi
xor edi, edi
mov dword [esp + 0xc], eax
test esi, esi
jle 0x10006b1f
fstp st(3)
lea ebx, [edx + ecx]
fld st(1)
add ebx, ebx
fsub st(1)
mov dword [esp + 0x2c], ebx
fld st(2)
fsub st(4)
jmp 0x10006a8e
mov ebx, dword [esp + 0x2c]
movzx ebx, word [ebx + eax]
fnstcw word [esp + 0x28]
mov dword [esp + 0x10], ebx
movzx ebx, word [eax + edx*2]
fild dword [esp + 0x10]
mov dword [esp + 0x10], ebx
movzx ebx, word [eax + ecx*2]
fmul st(3)
fild dword [esp + 0x10]
movzx eax, word [eax]
fmul st(3)
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x18]
faddp st(1)
inc edi
fmul st(5)
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
movzx eax, word [esp + 0x28]
or eax, 0xc00
fmul st(4)
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fldcw word [esp + 0x10]
fistp dword [esp + 0x10]
mov ax, word [esp + 0x10]
mov word [ebx + edi*2 - 2], ax
mov eax, dword [esp + 0xc]
fldcw word [esp + 0x28]
add eax, 2
mov dword [esp + 0xc], eax
cmp edi, esi
jl 0x10006a8a
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
jmp 0x10006b25
fstp st(1)
fstp st(0)
fxch st(1)
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
add eax, dword [esp + 0x64]
add edi, dword [esp + 0x60]
lea ecx, [esi + esi]
add dword [esp + 0x18], ecx
dec dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], edi
jne 0x100069ed
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x50]
jmp 0x10006b5a
fxch st(1)
add eax, 4
dec dword [esp + 0x30]
mov dword [esp + 0x24], eax
jne 0x10006989
fstp st(1)
xor eax, eax
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x40]
fld qword [0x1007e1f8]
sar dword [esp + 0x58], 2
fld1
mov dword [esp + 0x5c], ebx
cmp ebx, eax
jge 0x10006d59
lea edx, [ecx + ebx*4]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x80]
sub edx, ecx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x88]
sub edx, ecx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x7c]
sub eax, ebx
sub edx, ecx
mov dword [esp + 0x34], eax
add eax, ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx + eax]
mov edi, dword [esp + 0x4c]
mov edi, dword [edi + eax]
mov edx, dword [eax]
mov ebx, ecx
imul ebx, esi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x44]
add edi, dword [esp + 0x8c]
mov dword [esp + 0x44], edi
lea edi, [edi + ebx*4]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x48]
mov eax, dword [edi + eax]
sub eax, ecx
inc eax
test eax, eax
jle 0x10006d4a
mov ecx, dword [esp + 0x1c]
add ecx, 0xffff8000
add edx, 0xffff8000
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edi, eax
sar edi, 0x10
and eax, 0xffff
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
mov eax, edi
mov ebx, ecx
mov dword [esp + 0x1c], edi
sub edi, dword [esp + 0x70]
fmul st(2)
sar eax, 0xf
sar ebx, 0x10
and ecx, 0xffff
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
mov edx, eax
mov dword [esp + 0x28], ebx
mov ecx, ebx
sub ebx, dword [esp + 0x6c]
fmul st(3)
and eax, 1
add eax, dword [esp + 0x1c]
inc edi
not edx
imul eax, esi
sar ecx, 0xf
sar edi, 0x1f
and edi, edx
inc ebx
mov edx, ecx
sar ebx, 0x1f
not edx
and ecx, 1
add ecx, dword [esp + 0x28]
and ebx, edx
mov edx, dword [esp + 0x68]
mov ecx, dword [edx + ecx*4]
and ebx, dword [esp + 0x58]
and edi, esi
lea edx, [ecx + eax*4]
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], 0
test esi, esi
jle 0x10006d21
fld st(2)
lea eax, [ebx + edi]
fsub st(2)
add eax, eax
fld st(3)
add eax, eax
fsub st(2)
mov dword [esp + 0x1c], eax
fstp qword [esp + 0x98]
mov eax, dword [esp + 0x18]
fild dword [eax + ebx*4]
mov ecx, dword [esp + 0x1c]
fmul st(1)
fild dword [eax + ecx]
fmul st(4)
faddp st(1)
fmul st(2)
fild dword [eax + edi*4]
fmul st(4)
fild dword [eax]
fmul st(3)
faddp st(1)
fmul qword [esp + 0x98]
faddp st(1)
call fcn.1007d380
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x38]
add dword [esp + 0x18], 4
mov dword [edx + ecx*4], eax
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, esi
jl 0x10006cd7
fstp st(2)
mov eax, dword [esp + 0x64]
fstp st(1)
add dword [esp + 0x20], eax
fstp st(0)
mov ecx, dword [esp + 0x60]
add dword [esp + 0x24], ecx
lea eax, [esi*4]
add dword [esp + 0x38], eax
dec dword [esp + 0x14]
jne 0x10006c2d
add dword [esp + 0x3c], 4
dec dword [esp + 0x34]
jne 0x10006bcc
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x5c], ecx
jg 0x10007111
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x5c]
lea edi, [eax + edx*4]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x80]
sub edi, eax
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x84]
sub edi, eax
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0x30]
sub edi, eax
mov dword [esp + 0x84], edi
mov edi, dword [esp + 0x90]
sub edi, eax
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x88]
sub ecx, edx
inc ecx
sub edi, eax
add edx, ecx
mov dword [esp + 0x50], edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x78]
mov edi, dword [eax + edx]
mov ebx, dword [esp + 0x4c]
mov ebx, dword [ebx + edx]
mov eax, dword [edx]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x50]
mov ebx, dword [ebx + edx]
inc eax
mov dword [esp + 0x40], eax
mov eax, dword [ecx + edx]
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edx]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x44]
add ebx, dword [esp + 0x8c]
inc ecx
mov dword [esp + 0x54], edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], ebx
cmp eax, ecx
jge 0x10006f8a
imul edi, esi
lea edi, [ebx + edi*4]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x54]
sub eax, edi
test eax, eax
jle 0x10006f8c
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
add edx, 0xffff8000
add ecx, 0xffff8000
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edi, eax
sar edi, 0x10
and eax, 0xffff
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
mov eax, edi
mov ebx, ecx
mov dword [esp + 0x1c], edi
sub edi, dword [esp + 0x70]
fmul st(2)
sar eax, 0xf
sar ebx, 0x10
and ecx, 0xffff
mov edx, eax
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
mov dword [esp + 0x28], ebx
mov ecx, ebx
sub ebx, dword [esp + 0x6c]
and eax, 1
fmul st(3)
add eax, dword [esp + 0x1c]
inc edi
not edx
imul eax, esi
sar ecx, 0xf
sar edi, 0x1f
and edi, edx
inc ebx
mov edx, ecx
sar ebx, 0x1f
not edx
and ecx, 1
add ecx, dword [esp + 0x28]
and ebx, edx
mov edx, dword [esp + 0x68]
mov ecx, dword [edx + ecx*4]
and ebx, dword [esp + 0x58]
and edi, esi
lea edx, [ecx + eax*4]
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], 0
test esi, esi
jle 0x10006f84
fstp st(3)
lea eax, [ebx + edi]
fld st(1)
add eax, eax
fsub st(1)
add eax, eax
fld st(2)
mov dword [esp + 0x1c], eax
fsub st(4)
mov eax, dword [esp + 0x18]
fild dword [eax + ebx*4]
mov ecx, dword [esp + 0x1c]
fmul st(2)
fild dword [eax + ecx]
fmul st(4)
faddp st(1)
fmul st(5)
fild dword [eax + edi*4]
fmul st(4)
fild dword [eax]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
call fcn.1007d380
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x38]
add dword [esp + 0x18], 4
mov dword [edx + ecx*4], eax
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, esi
jl 0x10006efe
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
fxch st(1)
mov eax, dword [esp + 0x64]
add dword [esp + 0x20], eax
mov ecx, dword [esp + 0x60]
add dword [esp + 0x24], ecx
lea eax, [esi*4]
add dword [esp + 0x38], eax
dec dword [esp + 0x14]
jne 0x10006e55
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x54]
jmp 0x10006f8c
fstp st(1)
fstp st(0)
jmp 0x10006f51
mov ecx, edi
mov ebx, dword [esp + 0x4c]
mov eax, ecx
sub eax, edi
mov edi, eax
imul eax, dword [esp + 0x60]
imul edi, dword [esp + 0x64]
add edi, dword [ebx + edx]
mov ebx, dword [esp + 0x50]
add eax, dword [ebx + edx]
mov ebx, dword [esp + 0x44]
mov edx, ecx
imul edx, esi
lea edx, [ebx + edx*4]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x40]
sub edx, ecx
mov ecx, edx
test ecx, ecx
jle 0x10007102
add eax, 0xffff8000
add edi, 0xffff8000
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edi, eax
sar edi, 0x10
and eax, 0xffff
mov ebx, ecx
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
and ecx, 0xffff
mov dword [esp + 0x1c], edi
mov eax, edi
sub edi, dword [esp + 0x70]
fmul st(2)
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
sar eax, 0xf
sar ebx, 0x10
inc edi
mov ecx, eax
fmul st(3)
not ecx
mov dword [esp + 0x28], ebx
sar edi, 0x1f
and edi, ecx
mov ecx, ebx
sub ebx, dword [esp + 0x6c]
and eax, 1
add eax, dword [esp + 0x1c]
sar ecx, 0xf
inc ebx
imul eax, esi
mov edx, ecx
sar ebx, 0x1f
not edx
and ecx, 1
add ecx, dword [esp + 0x28]
and ebx, edx
mov edx, dword [esp + 0x68]
mov ecx, dword [edx + ecx*4]
and ebx, dword [esp + 0x58]
and edi, esi
lea edx, [ecx + eax*4]
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], 0
test esi, esi
jle 0x10007166
fstp st(3)
lea eax, [ebx + edi]
fld st(1)
add eax, eax
fsub st(1)
add eax, eax
fld st(2)
mov dword [esp + 0x1c], eax
fsub st(4)
mov eax, dword [esp + 0x18]
fild dword [eax + ebx*4]
mov ecx, dword [esp + 0x1c]
fmul st(2)
fild dword [eax + ecx]
fmul st(4)
faddp st(1)
fmul st(5)
fild dword [eax + edi*4]
fmul st(4)
fild dword [eax]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
call fcn.1007d380
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x38]
add dword [esp + 0x18], 4
mov dword [edx + ecx*4], eax
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, esi
jl 0x1000708a
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
fxch st(1)
mov eax, dword [esp + 0x64]
add dword [esp + 0x20], eax
mov ecx, dword [esp + 0x60]
add dword [esp + 0x24], ecx
lea eax, [esi*4]
add dword [esp + 0x38], eax
dec dword [esp + 0x14]
jne 0x10006fe1
add dword [esp + 0x10], 4
dec dword [esp + 0x34]
jne 0x10006dc4
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x94]
jg 0x100062c3
mov edi, dword [esp + 0x90]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x7c]
lea eax, [edi + eax*4]
sub ecx, edi
sub edx, edi
sub ebx, edi
mov edi, dword [esp + 0x94]
sub edi, dword [esp + 0x5c]
mov dword [esp + 0x30], eax
inc edi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x34], edi
jmp 0x1000717b
fstp st(1)
fstp st(0)
jmp 0x100070dd
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx + eax]
mov edx, dword [edx + eax]
mov edi, dword [eax]
mov ebx, ecx
imul ebx, esi
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x44]
add edx, dword [esp + 0x8c]
mov dword [esp + 0x44], edx
lea edx, [edx + ebx*4]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x48]
mov eax, dword [edx + eax]
sub eax, ecx
inc eax
test eax, eax
jle 0x100072f1
mov ecx, dword [esp + 0x1c]
add ecx, 0xffff8000
add edi, 0xffff8000
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edi, eax
sar edi, 0x10
and eax, 0xffff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov eax, edi
mov ebx, ecx
mov dword [esp + 0x1c], edi
sub edi, dword [esp + 0x70]
fmul st(2)
sar eax, 0xf
sar ebx, 0x10
and ecx, 0xffff
mov edx, eax
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
mov dword [esp + 0x28], ebx
mov ecx, ebx
sub ebx, dword [esp + 0x6c]
and eax, 1
fmul st(3)
add eax, dword [esp + 0x1c]
inc edi
not edx
imul eax, esi
sar ecx, 0xf
sar edi, 0x1f
and edi, edx
inc ebx
mov edx, ecx
sar ebx, 0x1f
not edx
and ecx, 1
add ecx, dword [esp + 0x28]
and ebx, edx
mov edx, dword [esp + 0x68]
mov ecx, dword [edx + ecx*4]
and ebx, dword [esp + 0x58]
and edi, esi
lea edx, [ecx + eax*4]
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], 0
test esi, esi
jle 0x1000730d
fstp st(3)
lea eax, [ebx + edi]
fld st(1)
add eax, eax
fsub st(1)
add eax, eax
fld st(2)
mov dword [esp + 0x1c], eax
fsub st(4)
mov eax, dword [esp + 0x18]
fild dword [eax + ebx*4]
mov ecx, dword [esp + 0x1c]
fmul st(2)
fild dword [eax + ecx]
fmul st(4)
faddp st(1)
fmul st(5)
fild dword [eax + edi*4]
fmul st(4)
fild dword [eax]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
call fcn.1007d380
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x38]
add dword [esp + 0x18], 4
mov dword [edx + ecx*4], eax
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, esi
jl 0x10007279
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
fxch st(1)
mov eax, dword [esp + 0x64]
add dword [esp + 0x20], eax
mov ecx, dword [esp + 0x60]
add dword [esp + 0x24], ecx
lea eax, [esi*4]
add dword [esp + 0x38], eax
dec dword [esp + 0x14]
jne 0x100071d0
add dword [esp + 0x30], 4
dec dword [esp + 0x34]
jne 0x1000716f
fstp st(0)
xor eax, eax
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(1)
fstp st(0)
jmp 0x100072cc
sar dword [esp + 0x58], 2
fld qword [0x1007e1f8]
fld1
mov edx, ebx
cmp ebx, dword [esp + 0x40]
jge 0x100075d4
mov eax, ecx
mov ecx, dword [esp + 0x80]
sub ecx, eax
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x88]
sub ecx, eax
lea edx, [eax + ebx*4]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x7c]
sub ecx, eax
mov eax, dword [esp + 0x40]
sub eax, ebx
mov dword [esp + 0x40], eax
add eax, ebx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x48], ecx
mov eax, edx
mov ecx, dword [esp + 0x50]
mov ecx, dword [eax + ecx]
mov edx, dword [eax]
mov edi, dword [esp + 0x4c]
mov edi, dword [eax + edi]
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x8c]
mov ebx, ecx
imul ebx, esi
mov dword [esp + 0x44], eax
lea eax, [eax + ebx*4]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + ebx]
sub eax, ecx
inc eax
test eax, eax
jle 0x100075bb
add edi, 0xffff8000
lea ebx, [edx - 0x8000]
mov dword [esp + 0x20], edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x24], eax
mov edx, edi
mov ecx, ebx
sar ecx, 0x10
and edi, 0xffff
and ebx, 0xffff
mov dword [esp + 0x1c], ecx
mov eax, ecx
sub ecx, dword [esp + 0x70]
mov dword [esp + 0x14], ebx
fild dword [esp + 0x14]
mov dword [esp + 0x14], edi
sar eax, 0xf
sar edx, 0x10
mov edi, eax
fmul st(2)
fild dword [esp + 0x14]
not edi
inc ecx
and eax, 1
add eax, dword [esp + 0x1c]
fmul st(3)
mov dword [esp + 0x28], edx
sar ecx, 0x1f
imul eax, esi
and ecx, edi
mov edi, edx
sub edx, dword [esp + 0x6c]
sar edi, 0xf
mov ebx, edi
inc edx
and edi, 1
add edi, dword [esp + 0x28]
sar edx, 0x1f
not ebx
and edx, ebx
mov ebx, dword [esp + 0x68]
mov edi, dword [ebx + edi*4]
and edx, dword [esp + 0x58]
lea eax, [edi + eax*4]
and ecx, esi
xor edi, edi
cmp esi, 4
jl 0x1000752d
mov edi, dword [esp + 0x2c]
fstp st(3)
lea ebx, [edx + ecx]
fld st(1)
lea ebx, [ebx*4 + 4]
fsub st(1)
mov dword [esp + 0x3c], ebx
fld st(2)
lea ebx, [esi - 4]
fsub st(4)
shr ebx, 2
inc ebx
mov dword [esp + 0x14], ebx
add ebx, ebx
add edi, 8
add ebx, ebx
mov dword [esp + 0xc], ebx
fld dword [eax + edx*4]
mov ebx, dword [esp + 0x3c]
fmul st(2)
add eax, 0x10
fld dword [eax + ebx - 0x14]
add edi, 0x10
dec dword [esp + 0x14]
fmul st(4)
faddp st(1)
fmul st(5)
fld dword [eax + ecx*4 - 0x10]
fmul st(4)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [edi - 0x18]
fld dword [eax + edx*4 - 0xc]
fmul st(2)
fld dword [eax + ebx - 0x10]
fmul st(4)
faddp st(1)
fmul st(5)
fld dword [eax + ecx*4 - 0xc]
fmul st(4)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [edi - 0x14]
fld dword [eax + edx*4 - 8]
fmul st(2)
fld dword [eax + ebx - 0xc]
fmul st(4)
faddp st(1)
fmul st(5)
fld dword [eax + ecx*4 - 8]
fmul st(4)
fld dword [eax - 8]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [edi - 0x10]
fld dword [eax + edx*4 - 4]
fmul st(2)
fld dword [eax + ebx - 8]
fmul st(4)
faddp st(1)
fmul st(5)
fld dword [eax + ecx*4 - 4]
fmul st(4)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [edi - 0xc]
jne 0x1000747a
mov edi, dword [esp + 0xc]
fstp st(1)
fstp st(0)
fld qword [0x1007e1f8]
jmp 0x1000752f
fxch st(3)
cmp edi, esi
jge 0x1000758a
fld st(2)
lea ebx, [edx + ecx]
fsub st(2)
add ebx, ebx
fld st(3)
add ebx, ebx
fsub st(5)
mov dword [esp + 0x1c], ebx
fstp qword [esp + 0x98]
jmp 0x10007553
mov ebx, dword [esp + 0x1c]
fld dword [eax + edx*4]
inc edi
fmul st(1)
add eax, 4
fld dword [eax + ebx - 4]
mov ebx, dword [esp + 0x2c]
fmul st(4)
faddp st(1)
fmul st(5)
fld dword [eax + ecx*4 - 4]
fmul st(4)
fld dword [eax - 4]
fmul st(3)
faddp st(1)
fmul qword [esp + 0x98]
faddp st(1)
fstp dword [ebx + edi*4 - 4]
cmp edi, esi
jl 0x1000754f
fstp st(2)
mov ebx, dword [esp + 0x34]
fstp st(1)
mov edi, dword [esp + 0x20]
fstp st(2)
add ebx, dword [esp + 0x64]
add edi, dword [esp + 0x60]
lea eax, [esi*4]
add dword [esp + 0x2c], eax
dec dword [esp + 0x24]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x20], edi
jne 0x100073c4
mov eax, dword [esp + 0x18]
add eax, 4
dec dword [esp + 0x40]
mov dword [esp + 0x18], eax
jne 0x1000736b
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x10]
cmp edx, ecx
jg 0x10007b45
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x80]
sub ebx, eax
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x84]
sub ebx, eax
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x30]
sub ebx, eax
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x90]
sub ebx, eax
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x88]
sub ecx, edx
inc ecx
lea edi, [eax + edx*4]
sub ebx, eax
add edx, ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x5c], edx
jmp 0x10007641
mov ebx, dword [esp + 0x50]
fxch st(1)
mov eax, dword [edi]
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
inc eax
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x4c]
mov edx, dword [edx + edi]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax + edi]
mov edi, dword [ebx + edi]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x44]
add edi, dword [esp + 0x8c]
inc ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], edi
cmp eax, ecx
jge 0x100078cb
mov ebx, dword [esp + 0x54]
sub eax, dword [esp + 0x54]
imul ebx, esi
lea edi, [edi + ebx*4]
mov dword [esp + 0x2c], edi
test eax, eax
jle 0x100078cf
mov ebx, dword [esp + 0x1c]
add ebx, 0xffff8000
lea edi, [edx - 0x8000]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x24], eax
jmp 0x100076c8
fxch st(1)
mov ecx, edi
sar ecx, 0x10
and edi, 0xffff
mov dword [esp + 0x14], edi
fild dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
mov eax, ecx
sub ecx, dword [esp + 0x70]
sar eax, 0xf
fmul st(2)
mov edi, eax
not edi
mov edx, ebx
sar edx, 0x10
inc ecx
and eax, 1
add eax, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
sar ecx, 0x1f
imul eax, esi
and ecx, edi
mov edi, edx
sub edx, dword [esp + 0x6c]
and ebx, 0xffff
sar edi, 0xf
mov dword [esp + 0x14], ebx
mov ebx, edi
inc edx
fild dword [esp + 0x14]
and edi, 1
add edi, dword [esp + 0x28]
sar edx, 0x1f
not ebx
fmul st(3)
and edx, ebx
mov ebx, dword [esp + 0x68]
mov edi, dword [ebx + edi*4]
and edx, dword [esp + 0x58]
lea eax, [edi + eax*4]
and ecx, esi
xor edi, edi
cmp esi, 4
jl 0x10007831
mov edi, dword [esp + 0x2c]
fstp st(3)
lea ebx, [edx + ecx]
fld st(1)
lea ebx, [ebx*4 + 4]
fsub st(1)
mov dword [esp + 0x3c], ebx
fld st(2)
lea ebx, [esi - 4]
fsub st(4)
shr ebx, 2
inc ebx
mov dword [esp + 0x14], ebx
add ebx, ebx
add edi, 8
add ebx, ebx
mov dword [esp + 0xc], ebx
fld dword [eax + edx*4]
mov ebx, dword [esp + 0x3c]
fmul st(2)
add eax, 0x10
fld dword [eax + ebx - 0x14]
add edi, 0x10
dec dword [esp + 0x14]
fmul st(4)
faddp st(1)
fmul st(5)
fld dword [eax + ecx*4 - 0x10]
fmul st(4)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [edi - 0x18]
fld dword [eax + edx*4 - 0xc]
fmul st(2)
fld dword [eax + ebx - 0x10]
fmul st(4)
faddp st(1)
fmul st(5)
fld dword [eax + ecx*4 - 0xc]
fmul st(4)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [edi - 0x14]
fld dword [eax + edx*4 - 8]
fmul st(2)
fld dword [eax + ebx - 0xc]
fmul st(4)
faddp st(1)
fmul st(5)
fld dword [eax + ecx*4 - 8]
fmul st(4)
fld dword [eax - 8]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [edi - 0x10]
fld dword [eax + edx*4 - 4]
fmul st(2)
fld dword [eax + ebx - 8]
fmul st(4)
faddp st(1)
fmul st(5)
fld dword [eax + ecx*4 - 4]
fmul st(4)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [edi - 0xc]
jne 0x1000777e
mov edi, dword [esp + 0xc]
fstp st(1)
fstp st(0)
fld qword [0x1007e1f8]
jmp 0x10007833
fxch st(3)
cmp edi, esi
jge 0x10007892
fstp st(0)
lea ebx, [edx + ecx]
fld st(1)
add ebx, ebx
fsub st(1)
add ebx, ebx
fld st(2)
mov dword [esp + 0x1c], ebx
fsub st(4)
jmp 0x10007852
mov ebx, dword [esp + 0x1c]
fld dword [eax + edx*4]
inc edi
fmul st(2)
add eax, 4
fld dword [eax + ebx - 4]
mov ebx, dword [esp + 0x2c]
fmul st(4)
faddp st(1)
fmul st(5)
fld dword [eax + ecx*4 - 4]
fmul st(4)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [ebx + edi*4 - 4]
cmp edi, esi
jl 0x1000784e
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
jmp 0x10007898
fstp st(1)
fstp st(2)
fxch st(1)
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
add edi, dword [esp + 0x64]
add ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x48]
lea eax, [esi*4]
add dword [esp + 0x2c], eax
dec dword [esp + 0x24]
mov dword [esp + 0x34], edi
mov dword [esp + 0x20], ebx
jne 0x100076c6
jmp 0x100078d1
mov ecx, dword [esp + 0x54]
fxch st(1)
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov eax, ecx
sub eax, dword [esp + 0x54]
mov edx, eax
imul eax, dword [esp + 0x60]
imul edx, dword [esp + 0x64]
add edx, dword [ebx + edi]
mov ebx, dword [esp + 0x50]
add eax, dword [ebx + edi]
mov ebx, dword [esp + 0x44]
mov edi, ecx
imul edi, esi
lea edi, [ebx + edi*4]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x40]
sub edi, ecx
test edi, edi
jle 0x10007b2a
add eax, 0xffff8000
lea ebx, [edx - 0x8000]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x20]
mov edx, eax
mov ecx, ebx
and ebx, 0xffff
and eax, 0xffff
sar ecx, 0x10
mov dword [esp + 0x14], ebx
fild dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
mov eax, ecx
sub ecx, dword [esp + 0x70]
fmul st(1)
fild dword [esp + 0x14]
sar eax, 0xf
sar edx, 0x10
mov edi, eax
not edi
fmul st(2)
inc ecx
and eax, 1
add eax, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
sar ecx, 0x1f
imul eax, esi
and ecx, edi
mov edi, edx
sub edx, dword [esp + 0x6c]
sar edi, 0xf
mov ebx, edi
inc edx
and edi, 1
add edi, dword [esp + 0x28]
sar edx, 0x1f
not ebx
and edx, ebx
mov ebx, dword [esp + 0x68]
mov edi, dword [ebx + edi*4]
and edx, dword [esp + 0x58]
lea eax, [edi + eax*4]
and ecx, esi
xor edi, edi
cmp esi, 4
jl 0x10007a96
mov edi, dword [esp + 0x2c]
fstp st(2)
add edi, 8
fld st(2)
lea ebx, [esi - 4]
fsub st(1)
shr ebx, 2
fld st(3)
mov dword [esp + 0x14], edi
fsub st(3)
inc ebx
lea edi, [edx + ecx]
add edi, edi
mov dword [esp + 0x34], ebx
add ebx, ebx
add edi, edi
add ebx, ebx
mov dword [esp + 0xc], ebx
fld dword [eax + edx*4]
mov ebx, dword [esp + 0x14]
fmul st(2)
add ebx, 0x10
fld dword [eax + edi]
add eax, 0x10
dec dword [esp + 0x34]
fmul st(4)
mov dword [esp + 0x14], ebx
faddp st(1)
fmul st(4)
fld dword [eax + ecx*4 - 0x10]
fmul st(4)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [ebx - 0x18]
fld dword [eax + edx*4 - 0xc]
fmul st(2)
fld dword [eax + edi - 0xc]
fmul st(4)
faddp st(1)
fmul st(4)
fld dword [eax + ecx*4 - 0xc]
fmul st(4)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [ebx - 0x14]
fld dword [eax + edx*4 - 8]
fmul st(2)
fld dword [eax + edi - 8]
fmul st(4)
faddp st(1)
fmul st(4)
fld dword [eax + ecx*4 - 8]
fmul st(4)
fld dword [eax - 8]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [ebx - 0x10]
fld dword [eax + edx*4 - 4]
fmul st(2)
fld dword [eax + edi - 4]
fmul st(4)
faddp st(1)
fmul st(4)
fld dword [eax + ecx*4 - 4]
fmul st(4)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [ebx - 0xc]
jne 0x100079e0
mov edi, dword [esp + 0xc]
fstp st(1)
fstp st(0)
fld qword [0x1007e1f8]
jmp 0x10007a98
fxch st(2)
cmp edi, esi
jge 0x10007af7
fstp st(0)
lea ebx, [edx + ecx]
fld st(2)
add ebx, ebx
fsub st(1)
add ebx, ebx
fld st(3)
mov dword [esp + 0x1c], ebx
fsub st(3)
jmp 0x10007ab7
mov ebx, dword [esp + 0x1c]
fld dword [eax + edx*4]
inc edi
fmul st(2)
add eax, 4
fld dword [eax + ebx - 4]
mov ebx, dword [esp + 0x2c]
fmul st(4)
faddp st(1)
fmul st(4)
fld dword [eax + ecx*4 - 4]
fmul st(4)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [ebx + edi*4 - 4]
cmp edi, esi
jl 0x10007ab3
fstp st(2)
fstp st(0)
fstp st(1)
fstp st(0)
fld qword [0x1007e1f8]
jmp 0x10007afb
fstp st(1)
fstp st(1)
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x24]
add dword [esp + 0x20], eax
add ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x10]
lea eax, [esi*4]
add dword [esp + 0x2c], eax
dec dword [esp + 0x30]
mov dword [esp + 0x24], ebx
jne 0x1000792a
jmp 0x10007b2e
mov edi, dword [esp + 0x10]
add edi, 4
dec dword [esp + 0x18]
mov dword [esp + 0x10], edi
jne 0x1000763b
mov edx, dword [esp + 0x5c]
jmp 0x10007b47
fxch st(1)
mov eax, dword [esp + 0x94]
cmp edx, eax
jg 0x100088f5
mov ecx, dword [esp + 0x90]
mov edi, dword [esp + 0x80]
sub edi, ecx
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x88]
sub edi, ecx
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x7c]
sub edi, ecx
sub eax, edx
lea ebx, [ecx + edx*4]
inc eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x48], edi
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx + ebx]
mov eax, dword [esp + 0x4c]
mov edi, dword [eax + ebx]
mov edx, dword [ebx]
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x8c]
mov ebx, ecx
imul ebx, esi
mov dword [esp + 0x44], eax
lea eax, [eax + ebx*4]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + ebx]
sub eax, ecx
inc eax
test eax, eax
jle 0x10007de3
add edi, 0xffff8000
lea ebx, [edx - 0x8000]
mov dword [esp + 0x24], edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], eax
mov edx, edi
mov ecx, ebx
sar ecx, 0x10
and edi, 0xffff
and ebx, 0xffff
mov dword [esp + 0x1c], ecx
mov eax, ecx
sub ecx, dword [esp + 0x70]
mov dword [esp + 0x14], ebx
fild dword [esp + 0x14]
mov dword [esp + 0x14], edi
sar eax, 0xf
sar edx, 0x10
mov edi, eax
fmul st(1)
fild dword [esp + 0x14]
not edi
inc ecx
and eax, 1
add eax, dword [esp + 0x1c]
fmul st(2)
mov dword [esp + 0x28], edx
sar ecx, 0x1f
imul eax, esi
and ecx, edi
mov edi, edx
sub edx, dword [esp + 0x6c]
sar edi, 0xf
mov ebx, edi
inc edx
and edi, 1
add edi, dword [esp + 0x28]
sar edx, 0x1f
not ebx
and edx, ebx
mov ebx, dword [esp + 0x68]
mov edi, dword [ebx + edi*4]
and edx, dword [esp + 0x58]
lea eax, [edi + eax*4]
and ecx, esi
xor edi, edi
cmp esi, 4
jl 0x10007d51
mov edi, dword [esp + 0x2c]
fstp st(2)
lea ebx, [edx + ecx]
fld st(2)
lea ebx, [ebx*4 + 4]
fsub st(1)
mov dword [esp + 0x3c], ebx
fld st(3)
lea ebx, [esi - 4]
fsub st(3)
shr ebx, 2
inc ebx
mov dword [esp + 0x14], ebx
add ebx, ebx
add edi, 8
add ebx, ebx
mov dword [esp + 0xc], ebx
fld dword [eax + edx*4]
mov ebx, dword [esp + 0x3c]
fmul st(2)
add eax, 0x10
fld dword [eax + ebx - 0x14]
add edi, 0x10
dec dword [esp + 0x14]
fmul st(4)
faddp st(1)
fmul st(4)
fld dword [eax + ecx*4 - 0x10]
fmul st(4)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [edi - 0x18]
fld dword [eax + edx*4 - 0xc]
fmul st(2)
fld dword [eax + ebx - 0x10]
fmul st(4)
faddp st(1)
fmul st(4)
fld dword [eax + ecx*4 - 0xc]
fmul st(4)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [edi - 0x14]
fld dword [eax + edx*4 - 8]
fmul st(2)
fld dword [eax + ebx - 0xc]
fmul st(4)
faddp st(1)
fmul st(4)
fld dword [eax + ecx*4 - 8]
fmul st(4)
fld dword [eax - 8]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [edi - 0x10]
fld dword [eax + edx*4 - 4]
fmul st(2)
fld dword [eax + ebx - 8]
fmul st(4)
faddp st(1)
fmul st(4)
fld dword [eax + ecx*4 - 4]
fmul st(4)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [edi - 0xc]
jne 0x10007c9e
mov edi, dword [esp + 0xc]
fstp st(1)
fstp st(0)
fld qword [0x1007e1f8]
jmp 0x10007d53
fxch st(2)
cmp edi, esi
jge 0x10007db2
fstp st(0)
lea ebx, [edx + ecx]
fld st(2)
add ebx, ebx
fsub st(1)
add ebx, ebx
fld st(3)
mov dword [esp + 0x1c], ebx
fsub st(3)
jmp 0x10007d72
mov ebx, dword [esp + 0x1c]
fld dword [eax + edx*4]
inc edi
fmul st(2)
add eax, 4
fld dword [eax + ebx - 4]
mov ebx, dword [esp + 0x2c]
fmul st(4)
faddp st(1)
fmul st(4)
fld dword [eax + ecx*4 - 4]
fmul st(4)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp dword [ebx + edi*4 - 4]
cmp edi, esi
jl 0x10007d6e
fstp st(2)
fstp st(0)
fstp st(1)
fstp st(0)
fld qword [0x1007e1f8]
jmp 0x10007db6
fstp st(1)
fstp st(1)
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x24]
add ebx, dword [esp + 0x64]
add edi, dword [esp + 0x60]
lea eax, [esi*4]
add dword [esp + 0x2c], eax
dec dword [esp + 0x30]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x24], edi
jne 0x10007be8
mov ebx, dword [esp + 0x20]
add ebx, 4
dec dword [esp + 0x10]
mov dword [esp + 0x20], ebx
jne 0x10007b8f
fstp st(1)
xor eax, eax
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
sar dword [esp + 0x58], 3
fld qword [0x1007e1f8]
fld1
mov edx, ebx
cmp ebx, dword [esp + 0x40]
jge 0x100080ca
mov eax, ecx
lea ecx, [eax + ebx*4]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x80]
sub ecx, eax
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x88]
sub ecx, eax
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x7c]
sub ecx, eax
mov eax, dword [esp + 0x40]
sub eax, ebx
mov dword [esp + 0x40], eax
add eax, ebx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x50]
mov ecx, dword [eax + edx]
mov edx, dword [eax]
mov edi, dword [esp + 0x4c]
mov edi, dword [eax + edi]
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x8c]
mov ebx, ecx
imul ebx, esi
mov dword [esp + 0x44], eax
lea eax, [eax + ebx*8]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + ebx]
sub eax, ecx
inc eax
test eax, eax
jle 0x100080b1
add edi, 0xffff8000
lea ebx, [edx - 0x8000]
mov dword [esp + 0x20], edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x24], eax
mov edx, edi
mov ecx, ebx
sar ecx, 0x10
and edi, 0xffff
and ebx, 0xffff
mov dword [esp + 0x1c], ecx
mov eax, ecx
sub ecx, dword [esp + 0x70]
mov dword [esp + 0x14], ebx
fild dword [esp + 0x14]
mov dword [esp + 0x14], edi
sar eax, 0xf
sar edx, 0x10
mov edi, eax
fmul st(2)
fild dword [esp + 0x14]
not edi
inc ecx
and eax, 1
add eax, dword [esp + 0x1c]
fmul st(3)
mov dword [esp + 0x28], edx
sar ecx, 0x1f
imul eax, esi
and ecx, edi
mov edi, edx
sub edx, dword [esp + 0x6c]
sar edi, 0xf
mov ebx, edi
inc edx
and edi, 1
add edi, dword [esp + 0x28]
sar edx, 0x1f
not ebx
and edx, ebx
mov ebx, dword [esp + 0x68]
mov edi, dword [ebx + edi*4]
and edx, dword [esp + 0x58]
lea eax, [edi + eax*8]
and ecx, esi
xor edi, edi
cmp esi, 4
jl 0x10008022
mov edi, dword [esp + 0x2c]
fstp st(3)
lea ebx, [edx + ecx]
fld st(1)
lea ebx, [ebx*8 + 8]
fsub st(1)
mov dword [esp + 0x3c], ebx
fld st(2)
lea ebx, [esi - 4]
fsub st(4)
shr ebx, 2
inc ebx
mov dword [esp + 0x14], ebx
add ebx, ebx
add edi, 0x10
add ebx, ebx
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x3c]
fld qword [eax + ebx - 8]
add eax, 0x20
fmul st(3)
add edi, 0x20
dec dword [esp + 0x14]
fld qword [eax + edx*8 - 0x20]
fmul st(3)
faddp st(1)
fmul st(5)
fld qword [eax + ecx*8 - 0x20]
fmul st(4)
fld st(3)
fmul qword [eax - 0x20]
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [edi - 0x30]
fld qword [eax + ebx - 0x20]
fmul st(3)
fld qword [eax + edx*8 - 0x18]
fmul st(3)
faddp st(1)
fmul st(5)
fld qword [eax + ecx*8 - 0x18]
fmul st(4)
fld qword [eax - 0x18]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [edi - 0x28]
fld qword [eax + ebx - 0x18]
fmul st(3)
fld qword [eax + edx*8 - 0x10]
fmul st(3)
faddp st(1)
fmul st(5)
fld qword [eax + ecx*8 - 0x10]
fmul st(4)
fld qword [eax - 0x10]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [edi - 0x20]
fld qword [eax + ebx - 0x10]
fmul st(3)
fld qword [eax + edx*8 - 8]
fmul st(3)
faddp st(1)
fmul st(5)
fld qword [eax + ecx*8 - 8]
fmul st(4)
fld qword [eax - 8]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [edi - 0x18]
jne 0x10007f6e
mov edi, dword [esp + 0xc]
fstp st(1)
fstp st(0)
fld qword [0x1007e1f8]
jmp 0x10008024
fxch st(3)
cmp edi, esi
jge 0x10008080
fld st(2)
lea ebx, [edx + ecx]
fsub st(2)
add ebx, ebx
fld st(3)
add ebx, ebx
fsub st(5)
add ebx, ebx
mov dword [esp + 0xc], ebx
fstp qword [esp + 0x98]
jmp 0x1000804a
mov ebx, dword [esp + 0xc]
fld qword [eax + ebx]
mov ebx, dword [esp + 0x2c]
fmul st(3)
inc edi
fld qword [eax + edx*8]
add eax, 8
fmul st(2)
faddp st(1)
fmul st(5)
fld qword [eax + ecx*8 - 8]
fmul st(4)
fld st(2)
fmul qword [eax - 8]
faddp st(1)
fmul qword [esp + 0x98]
faddp st(1)
fstp qword [ebx + edi*8 - 8]
cmp edi, esi
jl 0x10008046
fstp st(2)
mov ebx, dword [esp + 0x34]
fstp st(1)
mov edi, dword [esp + 0x20]
fstp st(2)
add ebx, dword [esp + 0x64]
add edi, dword [esp + 0x60]
lea eax, [esi*8]
add dword [esp + 0x2c], eax
dec dword [esp + 0x24]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x20], edi
jne 0x10007eb8
mov eax, dword [esp + 0x18]
add eax, 4
dec dword [esp + 0x40]
mov dword [esp + 0x18], eax
jne 0x10007e5f
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x10]
cmp edx, ecx
jg 0x10008640
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x80]
sub ebx, eax
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x84]
sub ebx, eax
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x30]
sub ebx, eax
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x90]
sub ebx, eax
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x88]
sub ecx, edx
inc ecx
lea edi, [eax + edx*4]
sub ebx, eax
add edx, ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x5c], edx
jmp 0x10008137
mov ebx, dword [esp + 0x50]
fxch st(1)
mov eax, dword [edi]
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
inc eax
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x4c]
mov edx, dword [edx + edi]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax + edi]
mov edi, dword [ebx + edi]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x44]
add edi, dword [esp + 0x8c]
inc ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], edi
cmp eax, ecx
jge 0x100083c3
mov ebx, dword [esp + 0x54]
sub eax, dword [esp + 0x54]
imul ebx, esi
lea edi, [edi + ebx*8]
mov dword [esp + 0x2c], edi
test eax, eax
jle 0x100083c7
mov ebx, dword [esp + 0x1c]
add ebx, 0xffff8000
lea edi, [edx - 0x8000]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x24], eax
jmp 0x100081be
fxch st(1)
mov ecx, edi
sar ecx, 0x10
and edi, 0xffff
mov dword [esp + 0x14], edi
fild dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
mov eax, ecx
sub ecx, dword [esp + 0x70]
sar eax, 0xf
fmul st(2)
mov edi, eax
not edi
mov edx, ebx
sar edx, 0x10
inc ecx
and eax, 1
add eax, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
sar ecx, 0x1f
imul eax, esi
and ecx, edi
mov edi, edx
sub edx, dword [esp + 0x6c]
and ebx, 0xffff
sar edi, 0xf
mov dword [esp + 0x14], ebx
mov ebx, edi
inc edx
fild dword [esp + 0x14]
and edi, 1
add edi, dword [esp + 0x28]
sar edx, 0x1f
not ebx
fmul st(3)
and edx, ebx
mov ebx, dword [esp + 0x68]
mov edi, dword [ebx + edi*4]
and edx, dword [esp + 0x58]
lea eax, [edi + eax*8]
and ecx, esi
xor edi, edi
cmp esi, 4
jl 0x10008328
mov edi, dword [esp + 0x2c]
fstp st(3)
lea ebx, [edx + ecx]
fld st(1)
lea ebx, [ebx*8 + 8]
fsub st(1)
mov dword [esp + 0x3c], ebx
fld st(2)
lea ebx, [esi - 4]
fsub st(4)
shr ebx, 2
inc ebx
mov dword [esp + 0x14], ebx
add ebx, ebx
add edi, 0x10
add ebx, ebx
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x3c]
fld qword [eax + ebx - 8]
add eax, 0x20
fmul st(3)
add edi, 0x20
dec dword [esp + 0x14]
fld qword [eax + edx*8 - 0x20]
fmul st(3)
faddp st(1)
fmul st(5)
fld qword [eax + ecx*8 - 0x20]
fmul st(4)
fld st(3)
fmul qword [eax - 0x20]
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [edi - 0x30]
fld qword [eax + ebx - 0x20]
fmul st(3)
fld qword [eax + edx*8 - 0x18]
fmul st(3)
faddp st(1)
fmul st(5)
fld qword [eax + ecx*8 - 0x18]
fmul st(4)
fld qword [eax - 0x18]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [edi - 0x28]
fld qword [eax + ebx - 0x18]
fmul st(3)
fld qword [eax + edx*8 - 0x10]
fmul st(3)
faddp st(1)
fmul st(5)
fld qword [eax + ecx*8 - 0x10]
fmul st(4)
fld qword [eax - 0x10]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [edi - 0x20]
fld qword [eax + ebx - 0x10]
fmul st(3)
fld qword [eax + edx*8 - 8]
fmul st(3)
faddp st(1)
fmul st(5)
fld qword [eax + ecx*8 - 8]
fmul st(4)
fld qword [eax - 8]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [edi - 0x18]
jne 0x10008274
mov edi, dword [esp + 0xc]
fstp st(1)
fstp st(0)
fld qword [0x1007e1f8]
jmp 0x1000832a
fxch st(3)
cmp edi, esi
jge 0x1000838a
fstp st(0)
lea ebx, [edx + ecx]
add ebx, ebx
fld st(1)
fsub st(1)
add ebx, ebx
fld st(2)
add ebx, ebx
fsub st(4)
mov dword [esp + 0xc], ebx
jmp 0x1000834b
mov ebx, dword [esp + 0xc]
fld qword [eax + ebx]
mov ebx, dword [esp + 0x2c]
fmul st(3)
inc edi
fld qword [eax + edx*8]
add eax, 8
fmul st(3)
faddp st(1)
fmul st(5)
fld qword [eax + ecx*8 - 8]
fmul st(4)
fld st(3)
fmul qword [eax - 8]
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [ebx + edi*8 - 8]
cmp edi, esi
jl 0x10008347
fstp st(2)
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [0x1007e1f8]
jmp 0x10008390
fstp st(1)
fstp st(2)
fxch st(1)
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
add edi, dword [esp + 0x64]
add ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x48]
lea eax, [esi*8]
add dword [esp + 0x2c], eax
dec dword [esp + 0x24]
mov dword [esp + 0x34], edi
mov dword [esp + 0x20], ebx
jne 0x100081bc
jmp 0x100083c9
mov ecx, dword [esp + 0x54]
fxch st(1)
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov eax, ecx
sub eax, dword [esp + 0x54]
mov edx, eax
imul eax, dword [esp + 0x60]
imul edx, dword [esp + 0x64]
add edx, dword [ebx + edi]
mov ebx, dword [esp + 0x50]
add eax, dword [ebx + edi]
mov ebx, dword [esp + 0x44]
mov edi, ecx
imul edi, esi
lea edi, [ebx + edi*8]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x40]
sub edi, ecx
test edi, edi
jle 0x10008625
add eax, 0xffff8000
lea ebx, [edx - 0x8000]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x20]
mov edx, eax
mov ecx, ebx
and ebx, 0xffff
and eax, 0xffff
sar ecx, 0x10
mov dword [esp + 0x14], ebx
fild dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
mov eax, ecx
sub ecx, dword [esp + 0x70]
fmul st(1)
fild dword [esp + 0x14]
sar eax, 0xf
sar edx, 0x10
mov edi, eax
not edi
fmul st(2)
inc ecx
and eax, 1
add eax, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
sar ecx, 0x1f
imul eax, esi
and ecx, edi
mov edi, edx
sub edx, dword [esp + 0x6c]
sar edi, 0xf
mov ebx, edi
inc edx
and edi, 1
add edi, dword [esp + 0x28]
sar edx, 0x1f
not ebx
and edx, ebx
mov ebx, dword [esp + 0x68]
mov edi, dword [ebx + edi*4]
and edx, dword [esp + 0x58]
lea eax, [edi + eax*8]
and ecx, esi
xor edi, edi
cmp esi, 4
jl 0x10008590
mov edi, dword [esp + 0x2c]
fstp st(2)
add edi, 0x10
fld st(2)
mov dword [esp + 0x14], edi
fsub st(1)
lea ebx, [esi - 4]
fld st(3)
shr ebx, 2
fsub st(3)
lea edi, [edx + ecx]
add edi, edi
inc ebx
add edi, edi
mov dword [esp + 0x34], ebx
add ebx, ebx
add edi, edi
add ebx, ebx
mov dword [esp + 0xc], ebx
fld qword [eax + edi]
mov ebx, dword [esp + 0x14]
fmul st(3)
add ebx, 0x20
fld qword [eax + edx*8]
add eax, 0x20
dec dword [esp + 0x34]
fmul st(3)
mov dword [esp + 0x14], ebx
faddp st(1)
fmul st(4)
fld qword [eax + ecx*8 - 0x20]
fmul st(4)
fld st(3)
fmul qword [eax - 0x20]
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [ebx - 0x30]
fld qword [eax + edi - 0x18]
fmul st(3)
fld qword [eax + edx*8 - 0x18]
fmul st(3)
faddp st(1)
fmul st(4)
fld qword [eax + ecx*8 - 0x18]
fmul st(4)
fld qword [eax - 0x18]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [ebx - 0x28]
fld qword [eax + edi - 0x10]
fmul st(3)
fld qword [eax + edx*8 - 0x10]
fmul st(3)
faddp st(1)
fmul st(4)
fld qword [eax + ecx*8 - 0x10]
fmul st(4)
fld qword [eax - 0x10]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [ebx - 0x20]
fld qword [eax + edi - 8]
fmul st(3)
fld qword [eax + edx*8 - 8]
fmul st(3)
faddp st(1)
fmul st(4)
fld qword [eax + ecx*8 - 8]
fmul st(4)
fld qword [eax - 8]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [ebx - 0x18]
jne 0x100084da
mov edi, dword [esp + 0xc]
fstp st(1)
fstp st(0)
fld qword [0x1007e1f8]
jmp 0x10008592
fxch st(2)
cmp edi, esi
jge 0x100085f2
fstp st(0)
lea ebx, [edx + ecx]
add ebx, ebx
fld st(2)
fsub st(1)
add ebx, ebx
fld st(3)
add ebx, ebx
fsub st(3)
mov dword [esp + 0xc], ebx
jmp 0x100085b3
mov ebx, dword [esp + 0xc]
fld qword [eax + ebx]
mov ebx, dword [esp + 0x2c]
fmul st(3)
inc edi
fld qword [eax + edx*8]
add eax, 8
fmul st(3)
faddp st(1)
fmul st(4)
fld qword [eax + ecx*8 - 8]
fmul st(4)
fld st(3)
fmul qword [eax - 8]
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [ebx + edi*8 - 8]
cmp edi, esi
jl 0x100085af
fstp st(2)
fstp st(0)
fstp st(1)
fstp st(0)
fld qword [0x1007e1f8]
jmp 0x100085f6
fstp st(1)
fstp st(1)
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x24]
add dword [esp + 0x20], eax
add ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x10]
lea eax, [esi*8]
add dword [esp + 0x2c], eax
dec dword [esp + 0x30]
mov dword [esp + 0x24], ebx
jne 0x10008422
jmp 0x10008629
mov edi, dword [esp + 0x10]
add edi, 4
dec dword [esp + 0x18]
mov dword [esp + 0x10], edi
jne 0x10008131
mov edx, dword [esp + 0x5c]
jmp 0x10008642
fxch st(1)
mov eax, dword [esp + 0x94]
cmp edx, eax
jg 0x100088f5
mov ecx, dword [esp + 0x90]
mov edi, dword [esp + 0x80]
sub edi, ecx
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x88]
sub edi, ecx
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x7c]
sub edi, ecx
sub eax, edx
lea ebx, [ecx + edx*4]
inc eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x48], edi
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x50]
mov ecx, dword [ebx + ecx]
mov eax, dword [esp + 0x4c]
mov edi, dword [eax + ebx]
mov edx, dword [ebx]
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x8c]
mov ebx, ecx
imul ebx, esi
mov dword [esp + 0x44], eax
lea eax, [eax + ebx*8]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + ebx]
sub eax, ecx
inc eax
test eax, eax
jle 0x100088e0
add edi, 0xffff8000
lea ebx, [edx - 0x8000]
mov dword [esp + 0x24], edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], eax
mov edx, edi
mov ecx, ebx
sar ecx, 0x10
and edi, 0xffff
and ebx, 0xffff
mov dword [esp + 0x1c], ecx
mov eax, ecx
sub ecx, dword [esp + 0x70]
mov dword [esp + 0x14], ebx
fild dword [esp + 0x14]
mov dword [esp + 0x14], edi
sar eax, 0xf
sar edx, 0x10
mov edi, eax
fmul st(1)
fild dword [esp + 0x14]
not edi
inc ecx
and eax, 1
add eax, dword [esp + 0x1c]
fmul st(2)
mov dword [esp + 0x28], edx
sar ecx, 0x1f
imul eax, esi
and ecx, edi
mov edi, edx
sub edx, dword [esp + 0x6c]
sar edi, 0xf
mov ebx, edi
inc edx
and edi, 1
add edi, dword [esp + 0x28]
sar edx, 0x1f
not ebx
and edx, ebx
mov ebx, dword [esp + 0x68]
mov edi, dword [ebx + edi*4]
and edx, dword [esp + 0x58]
lea eax, [edi + eax*8]
and ecx, esi
xor edi, edi
cmp esi, 4
jl 0x1000884d
mov edi, dword [esp + 0x2c]
fstp st(2)
lea ebx, [edx + ecx]
fld st(2)
lea ebx, [ebx*8 + 8]
fsub st(1)
mov dword [esp + 0x3c], ebx
fld st(3)
lea ebx, [esi - 4]
fsub st(3)
shr ebx, 2
inc ebx
mov dword [esp + 0x14], ebx
add ebx, ebx
add edi, 0x10
add ebx, ebx
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x3c]
fld qword [eax + ebx - 8]
add eax, 0x20
fmul st(3)
add edi, 0x20
dec dword [esp + 0x14]
fld qword [eax + edx*8 - 0x20]
fmul st(3)
faddp st(1)
fmul st(4)
fld qword [eax + ecx*8 - 0x20]
fmul st(4)
fld st(3)
fmul qword [eax - 0x20]
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [edi - 0x30]
fld qword [eax + ebx - 0x20]
fmul st(3)
fld qword [eax + edx*8 - 0x18]
fmul st(3)
faddp st(1)
fmul st(4)
fld qword [eax + ecx*8 - 0x18]
fmul st(4)
fld qword [eax - 0x18]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [edi - 0x28]
fld qword [eax + ebx - 0x18]
fmul st(3)
fld qword [eax + edx*8 - 0x10]
fmul st(3)
faddp st(1)
fmul st(4)
fld qword [eax + ecx*8 - 0x10]
fmul st(4)
fld qword [eax - 0x10]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [edi - 0x20]
fld qword [eax + ebx - 0x10]
fmul st(3)
fld qword [eax + edx*8 - 8]
fmul st(3)
faddp st(1)
fmul st(4)
fld qword [eax + ecx*8 - 8]
fmul st(4)
fld qword [eax - 8]
fmul st(4)
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [edi - 0x18]
jne 0x10008799
mov edi, dword [esp + 0xc]
fstp st(1)
fstp st(0)
fld qword [0x1007e1f8]
jmp 0x1000884f
fxch st(2)
cmp edi, esi
jge 0x100088af
fstp st(0)
lea ebx, [edx + ecx]
add ebx, ebx
fld st(2)
fsub st(1)
add ebx, ebx
fld st(3)
add ebx, ebx
fsub st(3)
mov dword [esp + 0xc], ebx
jmp 0x10008870
mov ebx, dword [esp + 0xc]
fld qword [eax + ebx]
mov ebx, dword [esp + 0x2c]
fmul st(3)
inc edi
fld qword [eax + edx*8]
add eax, 8
fmul st(3)
faddp st(1)
fmul st(4)
fld qword [eax + ecx*8 - 8]
fmul st(4)
fld st(3)
fmul qword [eax - 8]
faddp st(1)
fmul st(2)
faddp st(1)
fstp qword [ebx + edi*8 - 8]
cmp edi, esi
jl 0x1000886c
fstp st(2)
fstp st(0)
fstp st(1)
fstp st(0)
fld qword [0x1007e1f8]
jmp 0x100088b3
fstp st(1)
fstp st(1)
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x24]
add ebx, dword [esp + 0x64]
add edi, dword [esp + 0x60]
lea eax, [esi*8]
add dword [esp + 0x2c], eax
dec dword [esp + 0x30]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x24], edi
jne 0x100086e3
mov ebx, dword [esp + 0x20]
add ebx, 4
dec dword [esp + 0x10]
mov dword [esp + 0x20], ebx
jne 0x1000868a
fstp st(1)
fstp st(0)
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret