Function at 0x4d1268
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
and esp, 0xfffffff0
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push esi
push edi
sub esp, 0x170
mov dword [ebp - 0x128], eax
mov ecx, dword [eax]
mov eax, dword [0x6c5eb8]
shl eax, 2
neg eax
add eax, dword [0x6c5e98]
mov dword [ebp - 0x48], ecx
shl ecx, 2
mov dword [0x6e3448], 0x4e415254
mov esi, dword [eax + ecx]
mov eax, dword [edx]
mov dword [0x6e344c], 0x524f4653
mov dword [0x6e3450], 0x2052454d
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0xc], esi
cmp eax, 1
je 0x4d843c
mov dword [ebp - 0x12c], 0
cmp eax, 2
je 0x4d12ff
xor edx, edx
cmp eax, 3
mov eax, 0xffffffff
cmove edx, eax
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x174], edx
jmp 0x4d1313
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x124], 0xffffffff
mov eax, dword [0x6c81cc]
mov edx, dword [0x6c81c4]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x150], edx
test edx, edx
jle 0x4d14b5
mov esi, dword [0x6c81c8]
mov edi, eax
imul edi, esi
mov edx, dword [0x6c81b8]
mov eax, dword [0x6c81a0]
and edx, 0xfffffffc
mov ecx, dword [0x6c81c0]
mov dword [ebp - 0x164], edx
mov edx, eax
shl ecx, 3
mov dword [ebp - 0x15c], esi
sub edx, ecx
mov esi, dword [0x6c81b8]
sub ecx, edi
mov dword [ebp - 0x178], 0
add edx, ecx
mov dword [ebp - 0x158], eax
add edx, edi
mov dword [ebp - 0x168], eax
lea ecx, [esi*8]
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x160], edx
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0x16c], edx
test esi, esi
jle 0x4d1486
cmp esi, 0xc
jle 0x4d1417
mov dword [ebp - 0x144], esi
mov edi, dword [ebp - 0x16c]
mov esi, dword [ebp - 0x178]
push dword [ebp - 0x14c]
push 0
push edi
call fcn.0062a5e0
add esp, 0xc
mov eax, dword [ebp - 0x15c]
inc esi
add dword [ebp - 0x168], eax
add edi, eax
add dword [ebp - 0x154], eax
cmp esi, dword [ebp - 0x150]
jae 0x4d14b5
cmp dword [ebp - 0x144], 0xc
jg 0x4d13ca
mov dword [ebp - 0x178], esi
mov dword [ebp - 0x16c], edi
mov esi, dword [ebp - 0x144]
cmp esi, 4
jl 0x4d8435
mov edx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x154]
pxor xmm0, xmm0
mov edi, dword [ebp - 0x158]
mov dword [ebp - 0x148], 0
mov ecx, dword [ebp - 0x164]
add edx, eax
mov dword [ebp - 0x144], esi
add eax, edi
mov edi, ecx
mov esi, dword [ebp - 0x148]
movups xmmword [eax + esi*8], xmm0
movups xmmword [edx + esi*8 + 0x10], xmm0
add esi, 4
cmp esi, edi
jb 0x4d1458
mov esi, dword [ebp - 0x144]
cmp ecx, esi
jae 0x4d1486
mov eax, dword [ebp - 0x168]
pxor xmm0, xmm0
movsd qword [eax + ecx*8], xmm0
inc ecx
cmp ecx, esi
jb 0x4d147c
mov eax, dword [ebp - 0x15c]
lea ecx, [ebp - 0x178]
mov edx, dword [ecx]
inc edx
add dword [ebp - 0x168], eax
add dword [ebp - 0x16c], eax
add dword [ebp - 0x154], eax
mov dword [ecx], edx
cmp edx, dword [ebp - 0x150]
jb 0x4d13ab
mov eax, dword [0x6c828c]
mov edx, dword [0x6c8284]
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x14c], edx
test edx, edx
jle 0x4d1657
mov esi, dword [0x6c8288]
mov edi, eax
imul edi, esi
mov edx, dword [0x6c8278]
mov eax, dword [0x6c8260]
and edx, 0xfffffffc
mov ecx, dword [0x6c8280]
mov dword [ebp - 0x160], edx
mov edx, eax
shl ecx, 3
mov dword [ebp - 0x158], esi
sub edx, ecx
mov esi, dword [0x6c8278]
sub ecx, edi
mov dword [ebp - 0x178], 0
add edx, ecx
mov dword [ebp - 0x154], eax
add edx, edi
mov dword [ebp - 0x164], eax
lea ecx, [esi*8]
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x168], edx
test esi, esi
jle 0x4d1628
cmp esi, 0xc
jle 0x4d15b9
mov dword [ebp - 0x140], esi
mov edi, dword [ebp - 0x168]
mov esi, dword [ebp - 0x178]
push dword [ebp - 0x148]
push 0
push edi
call fcn.0062a5e0
add esp, 0xc
mov eax, dword [ebp - 0x158]
inc esi
add dword [ebp - 0x164], eax
add edi, eax
add dword [ebp - 0x150], eax
cmp esi, dword [ebp - 0x14c]
jae 0x4d1657
cmp dword [ebp - 0x140], 0xc
jg 0x4d156c
mov dword [ebp - 0x178], esi
mov dword [ebp - 0x168], edi
mov esi, dword [ebp - 0x140]
cmp esi, 4
jl 0x4d842e
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x150]
pxor xmm0, xmm0
mov edi, dword [ebp - 0x154]
mov dword [ebp - 0x144], 0
mov ecx, dword [ebp - 0x160]
add edx, eax
mov dword [ebp - 0x140], esi
add eax, edi
mov edi, ecx
mov esi, dword [ebp - 0x144]
movups xmmword [eax + esi*8], xmm0
movups xmmword [edx + esi*8 + 0x10], xmm0
add esi, 4
cmp esi, edi
jb 0x4d15fa
mov esi, dword [ebp - 0x140]
cmp ecx, esi
jae 0x4d1628
mov eax, dword [ebp - 0x164]
pxor xmm0, xmm0
movsd qword [eax + ecx*8], xmm0
inc ecx
cmp ecx, esi
jb 0x4d161e
mov eax, dword [ebp - 0x158]
lea ecx, [ebp - 0x178]
mov edx, dword [ecx]
inc edx
add dword [ebp - 0x164], eax
add dword [ebp - 0x168], eax
add dword [ebp - 0x150], eax
mov dword [ecx], edx
cmp edx, dword [ebp - 0x14c]
jb 0x4d154d
mov eax, dword [0x6c60e4]
mov edx, dword [0x6c60dc]
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x158], edx
test edx, edx
jle 0x4d1832
mov edx, dword [0x6c60d8]
mov eax, dword [0x6c60d0]
mov dword [ebp - 0x13c], eax
and eax, 0xfffffffc
mov dword [ebp - 0x15c], eax
lea ecx, [edx*8]
neg ecx
mov eax, dword [0x6c60b8]
add ecx, eax
mov dword [ebp - 0x178], ecx
mov ecx, dword [0x6c60ec]
mov esi, dword [ebp - 0x48]
imul esi, ecx
imul ecx, dword [0x6c60f0]
mov edi, dword [0x6c60e0]
mov edx, dword [ebp - 0x168]
mov dword [ebp - 0x150], edi
imul edx, edi
mov edi, esi
sub edi, ecx
add ecx, edx
add eax, edi
mov edi, dword [0x6c60d8]
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x140], eax
lea esi, [esi + edi*8]
mov edi, dword [ebp - 0x178]
add edi, esi
mov esi, dword [0x6c60d0]
sub edi, ecx
add edx, edi
mov ecx, edx
mov dword [ebp - 0x144], edx
lea edi, [esi*8]
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x14c], esi
mov dword [ebp - 0x148], edi
mov dword [ebp - 0x160], ecx
test edx, edx
jle 0x4d1803
cmp edx, 0xc
jle 0x4d179a
mov edi, dword [ebp - 0x160]
mov esi, dword [ebp - 0x164]
push dword [ebp - 0x148]
push 0
push edi
call fcn.0062a5e0
add esp, 0xc
mov eax, dword [ebp - 0x150]
inc esi
add dword [ebp - 0x154], eax
add edi, eax
add dword [ebp - 0x14c], eax
cmp esi, dword [ebp - 0x158]
jae 0x4d1832
cmp dword [ebp - 0x13c], 0xc
jg 0x4d174d
mov dword [ebp - 0x160], edi
mov dword [ebp - 0x164], esi
mov edx, dword [ebp - 0x13c]
cmp edx, 4
jl 0x4d8427
mov ecx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x14c]
pxor xmm0, xmm0
mov edi, dword [ebp - 0x140]
mov dword [ebp - 0x178], 0
mov esi, dword [ebp - 0x15c]
add ecx, eax
mov edx, dword [ebp - 0x178]
add eax, edi
mov edi, esi
movups xmmword [eax + edx*8], xmm0
movups xmmword [ecx + edx*8 + 0x10], xmm0
add edx, 4
cmp edx, edi
jb 0x4d17d5
mov edx, dword [ebp - 0x13c]
cmp esi, edx
jae 0x4d1803
mov eax, dword [ebp - 0x154]
pxor xmm0, xmm0
movsd qword [eax + esi*8], xmm0
inc esi
cmp esi, edx
jb 0x4d17f9
mov eax, dword [ebp - 0x150]
lea esi, [ebp - 0x164]
mov ecx, dword [esi]
inc ecx
add dword [ebp - 0x154], eax
add dword [ebp - 0x160], eax
add dword [ebp - 0x14c], eax
mov dword [esi], ecx
cmp ecx, dword [ebp - 0x158]
jb 0x4d1734
mov eax, dword [0x6c60a4]
mov edx, dword [0x6c609c]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x154], edx
test edx, edx
jle 0x4d1a0d
mov edx, dword [0x6c6098]
mov eax, dword [0x6c6090]
mov dword [ebp - 0x138], eax
and eax, 0xfffffffc
mov dword [ebp - 0x158], eax
lea ecx, [edx*8]
neg ecx
mov eax, dword [0x6c6078]
add ecx, eax
mov dword [ebp - 0x178], ecx
mov ecx, dword [0x6c60ac]
mov esi, dword [ebp - 0x48]
imul esi, ecx
imul ecx, dword [0x6c60b0]
mov edi, dword [0x6c60a0]
mov edx, dword [ebp - 0x164]
mov dword [ebp - 0x14c], edi
imul edx, edi
mov edi, esi
sub edi, ecx
add ecx, edx
add eax, edi
mov edi, dword [0x6c6098]
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x13c], eax
lea esi, [esi + edi*8]
mov edi, dword [ebp - 0x178]
add edi, esi
mov esi, dword [0x6c6090]
sub edi, ecx
add edx, edi
mov ecx, edx
mov dword [ebp - 0x140], edx
lea edi, [esi*8]
mov esi, dword [ebp - 0x160]
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x148], esi
mov dword [ebp - 0x144], edi
mov dword [ebp - 0x15c], ecx
test edx, edx
jle 0x4d19de
cmp edx, 0xc
jle 0x4d1975
mov edi, dword [ebp - 0x15c]
mov esi, dword [ebp - 0x160]
push dword [ebp - 0x144]
push 0
push edi
call fcn.0062a5e0
add esp, 0xc
mov eax, dword [ebp - 0x14c]
inc esi
add dword [ebp - 0x150], eax
add edi, eax
add dword [ebp - 0x148], eax
cmp esi, dword [ebp - 0x154]
jae 0x4d1a0d
cmp dword [ebp - 0x138], 0xc
jg 0x4d1928
mov dword [ebp - 0x15c], edi
mov dword [ebp - 0x160], esi
mov edx, dword [ebp - 0x138]
cmp edx, 4
jl 0x4d8420
mov ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x148]
pxor xmm0, xmm0
mov edi, dword [ebp - 0x13c]
mov dword [ebp - 0x178], 0
mov esi, dword [ebp - 0x158]
add ecx, eax
mov edx, dword [ebp - 0x178]
add eax, edi
mov edi, esi
movups xmmword [eax + edx*8], xmm0
movups xmmword [ecx + edx*8 + 0x10], xmm0
add edx, 4
cmp edx, edi
jb 0x4d19b0
mov edx, dword [ebp - 0x138]
cmp esi, edx
jae 0x4d19de
mov eax, dword [ebp - 0x150]
pxor xmm0, xmm0
movsd qword [eax + esi*8], xmm0
inc esi
cmp esi, edx
jb 0x4d19d4
mov eax, dword [ebp - 0x14c]
lea esi, [ebp - 0x160]
mov ecx, dword [esi]
inc ecx
add dword [ebp - 0x150], eax
add dword [ebp - 0x15c], eax
add dword [ebp - 0x148], eax
mov dword [esi], ecx
cmp ecx, dword [ebp - 0x154]
jb 0x4d190f
mov eax, dword [ebp - 0x12c]
or eax, dword [ebp - 0x124]
test al, 1
je 0x4d2a9a
cmp dword [ebp - 0xc], 0
jle 0x4d52be
mov esi, dword [0x6c81c0]
mov dword [ebp - 0x11c], esi
mov edi, dword [0x6c60e0]
mov eax, dword [0x6c81c8]
shl esi, 3
neg esi
mov ecx, dword [0x6c81a0]
add esi, ecx
mov dword [ebp - 0x134], edi
mov dword [ebp - 0x14c], esi
mov edx, dword [0x6c8288]
mov edi, dword [0x6c8840]
mov esi, dword [ebp - 0x16c]
mov dword [ebp - 0x118], eax
imul esi, edx
mov eax, dword [0x6c60a0]
mov dword [ebp - 0x144], edi
mov edi, dword [0x6c8280]
mov dword [ebp - 0x138], eax
shl edi, 3
mov eax, dword [ebp - 0x12c]
and eax, 1
mov dword [ebp - 0x178], eax
mov eax, dword [0x6c8260]
sub eax, edi
mov dword [ebp - 0x120], ecx
mov ecx, eax
sub ecx, esi
sub esi, edx
add ecx, edx
sub eax, esi
mov dword [ebp - 0x148], ecx
mov ecx, dword [0x6c6098]
shl ecx, 3
mov edi, dword [0x6c6078]
mov dword [ebp - 0x160], eax
sub edi, ecx
mov eax, dword [0x6c60b0]
mov ecx, dword [0x6c60a0]
neg eax
mov esi, dword [ebp - 0x164]
imul esi, ecx
mov dword [ebp - 0x130], edx
sub edi, esi
mov edx, dword [ebp - 0x48]
add eax, edx
imul eax, dword [0x6c60ac]
add edi, ecx
mov ecx, dword [0x6c8840]
add eax, edi
mov edi, dword [0x6c8844]
imul edi, ecx
mov esi, dword [0x6c8818]
sub esi, edi
mov edi, dword [0x6c8838]
add esi, ecx
shl edi, 3
sub esi, edi
mov dword [ebp - 0x158], esi
mov ecx, dword [0x6c60f0]
mov esi, dword [0x6c60d8]
neg ecx
shl esi, 3
add ecx, edx
mov edx, dword [0x6c60b8]
mov edi, dword [ebp - 0x168]
sub edx, esi
mov esi, dword [0x6c60e0]
imul edi, esi
imul ecx, dword [0x6c60ec]
sub edx, edi
mov edi, dword [0x6c81c8]
add edx, esi
mov esi, dword [ebp - 0x170]
add ecx, edx
imul esi, edi
mov dword [ebp - 0x150], ecx
mov ecx, esi
sub ecx, edi
neg ecx
mov edx, dword [ebp - 0x14c]
add ecx, edx
sub edx, esi
mov dword [ebp - 0x13c], 0
add edx, edi
mov dword [ebp - 0x15c], ecx
mov dword [ebp - 0x154], eax
and dword [ebp - 0x124], 1
mov edi, dword [ebp - 0x178]
mov esi, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x14c], edx
lea edx, [eax + 1]
mov dword [ebp - 0x68], edx
test edx, edx
jle 0x4d2a67
cmp dword [ebp - 0x178], 0
je 0x4d210c
cmp dword [ebp - 0x138], 0
je 0x4d529f
cmp dword [ebp - 0x118], 0
je 0x4d529f
cmp dword [ebp - 0x134], 0
je 0x4d529f
cmp dword [ebp - 0x130], 0
je 0x4d529f
cmp dword [ebp - 0x68], 2
jl 0x4d529f
mov esi, dword [ebp - 0x118]
imul esi, eax
mov edx, dword [ebp - 0x15c]
lea ecx, [esi + edx + 8]
and ecx, 0xf
je 0x4d1c43
test cl, 7
jne 0x4d529f
mov ecx, 1
lea edx, [ecx + 2]
cmp edx, dword [ebp - 0x68]
jg 0x4d529f
mov edi, dword [ebp - 0x68]
mov edx, edi
sub edx, ecx
and edx, 1
neg edx
add edx, edi
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp - 0x148]
lea edi, [edx + eax*8]
mov dword [ebp - 0xd8], edi
mov edi, dword [ebp - 0x130]
imul edi, eax
add edi, edx
mov edx, dword [ebp - 0x138]
imul edx, eax
mov dword [ebp - 0x80], edi
mov edi, dword [ebp - 0x154]
add edx, edi
mov dword [ebp - 0x94], edx
lea edx, [edi + eax*8]
mov edi, dword [ebp - 0x144]
imul edi, eax
mov dword [ebp - 0xf0], edx
mov edx, dword [ebp - 0x134]
imul edx, eax
add edi, dword [ebp - 0x158]
mov dword [ebp - 0xa4], edi
mov edi, dword [ebp - 0x150]
add edx, edi
mov dword [ebp - 0xb0], edx
lea edx, [edi + eax*8]
mov edi, dword [ebp - 0x14c]
add esi, edi
mov dword [ebp - 0xe4], edx
lea edx, [edi + eax*8]
mov dword [ebp - 0xc8], edx
test ecx, ecx
jbe 0x4d1dbd
mov dword [ebp - 0x13c], eax
xor edx, edx
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], ecx
mov ecx, edx
shl ecx, 4
mov eax, dword [ebp - 0xa4]
movsd xmm1, qword [0x681838]
mov esi, dword [ebp - 0x80]
mulsd xmm1, qword [0x76e5b0]
movsd xmm0, qword [eax + ecx + 8]
movsd qword [esi + edx*8 + 8], xmm0
mov esi, dword [ebp - 0x130]
imul esi, edx
mulsd xmm1, qword [eax + ecx + 0x10]
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xb0]
movsd qword [edi + esi + 8], xmm0
mov edi, dword [ebp - 0x80]
movsd qword [eax + edx*8 + 8], xmm1
mov eax, dword [ebp - 0x94]
movsd xmm2, qword [edi + edx*8 + 8]
mov esi, dword [ebp - 0x134]
movsd qword [eax + edx*8 + 8], xmm2
mov eax, dword [ebp - 0x118]
imul eax, edx
imul esi, edx
movsd qword [ecx + edx*8 + 8], xmm1
mov edi, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xe4]
movsd qword [edi + eax + 8], xmm1
mov eax, dword [ebp - 0x138]
imul eax, edx
inc edx
movsd qword [ecx + esi + 8], xmm1
mov ecx, dword [ebp - 0xf0]
movsd qword [ecx + eax + 8], xmm2
cmp edx, dword [ebp - 0x30]
jb 0x4d1cf9
mov eax, dword [ebp - 0x13c]
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x80]
lea edi, [edx + ecx*8 + 8]
test edi, 0xf
je 0x4d1ec4
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x34], esi
mov eax, edx
mov edx, ecx
shl edx, 4
mov esi, dword [ebp - 0xa4]
movsd xmm2, qword [0x681838]
mulsd xmm2, qword [0x76e5b0]
movups xmm3, xmmword [esi + edx + 8]
movups xmm1, xmmword [esi + edx + 0x18]
mov edx, dword [ebp - 0x130]
movaps xmm0, xmm3
mov esi, edx
imul esi, ecx
unpckhpd xmm3, xmm1
unpcklpd xmm2, xmm2
unpcklpd xmm0, xmm1
movups xmmword [eax + ecx*8 + 8], xmm0
mulpd xmm3, xmm2
mov edi, dword [ebp - 0xd8]
lea edi, [edi + esi + 8]
mov esi, dword [ebp - 0x94]
movsd qword [edi], xmm0
movlpd qword [edx + edi], xmm1
mov edx, dword [ebp - 0x34]
movups xmm4, xmmword [eax + ecx*8 + 8]
mov edi, dword [ebp - 0x134]
movups xmmword [edx + ecx*8 + 8], xmm3
mov edx, dword [ebp - 0xb0]
movups xmmword [esi + ecx*8 + 8], xmm4
mov esi, edi
imul esi, ecx
movups xmmword [edx + ecx*8 + 8], xmm3
mov edx, dword [ebp - 0xe4]
lea edx, [edx + esi + 8]
mov esi, dword [ebp - 0x118]
movsd qword [edx], xmm3
movhpd qword [edi + edx], xmm3
mov edx, esi
imul edx, ecx
mov edi, dword [ebp - 0xc8]
lea edi, [edi + edx + 8]
mov edx, dword [ebp - 0x138]
movsd qword [edi], xmm3
movhpd qword [esi + edi], xmm3
mov edi, edx
imul edi, ecx
add ecx, 2
mov esi, dword [ebp - 0xf0]
lea esi, [esi + edi + 8]
movsd qword [esi], xmm4
movhpd qword [edx + esi], xmm4
cmp ecx, dword [ebp - 0x6c]
jb 0x4d1ddb
jmp 0x4d1fb3
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x34], esi
mov eax, edx
mov edx, ecx
shl edx, 4
mov esi, dword [ebp - 0xa4]
movsd xmm2, qword [0x681838]
mulsd xmm2, qword [0x76e5b0]
movups xmm3, xmmword [esi + edx + 8]
movups xmm1, xmmword [esi + edx + 0x18]
mov edx, dword [ebp - 0x130]
movaps xmm0, xmm3
mov esi, edx
imul esi, ecx
unpckhpd xmm3, xmm1
unpcklpd xmm2, xmm2
unpcklpd xmm0, xmm1
movups xmmword [eax + ecx*8 + 8], xmm0
mov edi, dword [ebp - 0xd8]
mulpd xmm3, xmm2
lea edi, [edi + esi + 8]
mov esi, dword [ebp - 0x94]
movsd qword [edi], xmm0
movlpd qword [edx + edi], xmm1
mov edx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x134]
movups xmm4, xmmword [eax + ecx*8 + 8]
movups xmmword [edx + ecx*8 + 8], xmm3
mov edx, dword [ebp - 0xb0]
movups xmmword [esi + ecx*8 + 8], xmm4
mov esi, edi
imul esi, ecx
movups xmmword [edx + ecx*8 + 8], xmm3
mov edx, dword [ebp - 0xe4]
lea edx, [edx + esi + 8]
mov esi, dword [ebp - 0x118]
movsd qword [edx], xmm3
movhpd qword [edi + edx], xmm3
mov edx, esi
imul edx, ecx
mov edi, dword [ebp - 0xc8]
lea edi, [edi + edx + 8]
mov edx, dword [ebp - 0x138]
movsd qword [edi], xmm3
movhpd qword [esi + edi], xmm3
mov edi, edx
imul edi, ecx
add ecx, 2
mov esi, dword [ebp - 0xf0]
lea esi, [esi + edi + 8]
movsd qword [esi], xmm4
movhpd qword [edx + esi], xmm4
cmp ecx, dword [ebp - 0x6c]
jb 0x4d1ecf
mov eax, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x68]
cmp edx, dword [ebp - 0x6c]
jbe 0x4d2a67
mov esi, dword [ebp - 0x138]
mov edx, dword [ebp - 0x148]
imul esi, eax
mov edi, dword [ebp - 0x154]
lea ecx, [edx + eax*8]
mov dword [ebp - 0x9c], ecx
add esi, edi
mov ecx, dword [ebp - 0x130]
imul ecx, eax
mov dword [ebp - 0x8c], esi
add ecx, edx
mov esi, dword [ebp - 0x144]
lea edx, [edi + eax*8]
imul esi, eax
mov edi, dword [ebp - 0x150]
mov dword [ebp - 0xa8], edx
mov edx, dword [ebp - 0x134]
imul edx, eax
add esi, dword [ebp - 0x158]
add edx, edi
mov dword [ebp - 0x60], esi
lea esi, [edi + eax*8]
mov dword [ebp - 0xb8], esi
mov esi, dword [ebp - 0x14c]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], ecx
lea edi, [esi + eax*8]
mov dword [ebp - 0xcc], edi
imul eax, dword [ebp - 0x118]
add eax, esi
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x6c]
mov edx, eax
shl edx, 4
mov ecx, dword [ebp - 0x60]
movsd xmm1, qword [0x681838]
mov esi, dword [ebp - 0x38]
mulsd xmm1, qword [0x76e5b0]
movsd xmm0, qword [ecx + edx + 8]
movsd qword [esi + eax*8 + 8], xmm0
mov esi, dword [ebp - 0x130]
imul esi, eax
mulsd xmm1, qword [ecx + edx + 0x10]
mov edi, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x3c]
movsd qword [edi + esi + 8], xmm0
mov edi, dword [ebp - 0x38]
movsd qword [edx + eax*8 + 8], xmm1
mov edx, dword [ebp - 0x8c]
movsd xmm2, qword [edi + eax*8 + 8]
mov esi, dword [ebp - 0x134]
movsd qword [edx + eax*8 + 8], xmm2
mov edx, dword [ebp - 0x118]
imul edx, eax
imul esi, eax
movsd qword [ecx + eax*8 + 8], xmm1
mov edi, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xb8]
movsd qword [edi + edx + 8], xmm1
mov edx, dword [ebp - 0x138]
imul edx, eax
inc eax
movsd qword [ecx + esi + 8], xmm1
mov ecx, dword [ebp - 0xa8]
movsd qword [ecx + edx + 8], xmm2
cmp eax, dword [ebp - 0x68]
jb 0x4d2052
jmp 0x4d2a67
cmp dword [ebp - 0x124], 0
je 0x4d2554
cmp dword [ebp - 0x138], 0
je 0x4d52ab
cmp dword [ebp - 0x118], 0
je 0x4d52ab
cmp dword [ebp - 0x134], 0
je 0x4d52ab
cmp dword [ebp - 0x130], 0
je 0x4d52ab
cmp dword [ebp - 0x68], 2
jl 0x4d52ab
mov edx, dword [ebp - 0x130]
imul edx, eax
mov ecx, dword [ebp - 0x160]
lea ecx, [edx + ecx + 8]
and ecx, 0xf
je 0x4d217d
test cl, 7
jne 0x4d52ab
mov ecx, 1
lea esi, [ecx + 2]
cmp esi, dword [ebp - 0x68]
jg 0x4d52ab
mov edi, dword [ebp - 0x68]
mov esi, edi
sub esi, ecx
and esi, 1
neg esi
add esi, edi
mov dword [ebp - 0x64], esi
mov esi, dword [ebp - 0x148]
add edx, esi
lea edi, [esi + eax*8]
mov dword [ebp - 0xb4], edi
mov edi, dword [ebp - 0x138]
imul edi, eax
mov esi, dword [ebp - 0x154]
add edi, esi
mov dword [ebp - 0x78], edi
lea edi, [esi + eax*8]
mov esi, dword [ebp - 0x144]
imul esi, eax
mov dword [ebp - 0xe8], edi
mov edi, dword [ebp - 0x134]
imul edi, eax
add esi, dword [ebp - 0x158]
mov dword [ebp - 0x70], esi
mov esi, dword [ebp - 0x150]
add edi, esi
mov dword [ebp - 0xa0], edi
lea edi, [esi + eax*8]
mov esi, dword [ebp - 0x14c]
mov dword [ebp - 0xdc], edi
lea edi, [esi + eax*8]
mov dword [ebp - 0xc4], edi
mov edi, dword [ebp - 0x118]
imul edi, eax
add edi, esi
mov dword [ebp - 0x90], edi
test ecx, ecx
jbe 0x4d2306
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x170]
mov ecx, eax
shl ecx, 4
mov edx, dword [ebp - 0x70]
movsd xmm1, qword [0x681810]
mov esi, dword [ebp - 0x40]
mulsd xmm1, qword [edx + ecx + 0x10]
divsd xmm1, qword [0x76e5b0]
movsd xmm0, qword [edx + ecx + 8]
movsd qword [esi + eax*8 + 8], xmm0
mov esi, dword [ebp - 0x130]
imul esi, eax
mov edi, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0xa0]
movsd qword [edi + esi + 8], xmm0
movsd xmm3, qword [ecx + eax*8 + 8]
movsd qword [edx + eax*8 + 8], xmm1
movaps xmm2, xmm3
mov edx, dword [ebp - 0x78]
addsd xmm2, xmm1
mov edi, dword [ebp - 0x90]
movsd qword [edx + eax*8 + 8], xmm3
mov edx, dword [ebp - 0x118]
imul edx, eax
movsd qword [edi + eax*8 + 8], xmm2
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0xc4]
imul esi, eax
movsd qword [edi + edx + 8], xmm2
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x138]
imul edx, eax
inc eax
movsd qword [ecx + esi + 8], xmm1
mov ecx, dword [ebp - 0xe8]
movsd qword [ecx + edx + 8], xmm3
cmp eax, dword [ebp - 0x44]
jb 0x4d223e
mov eax, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
movsd xmm0, qword [0x76e5b0]
unpcklpd xmm0, xmm0
mov dword [ebp - 0x13c], eax
mov eax, ecx
shl eax, 4
mov esi, dword [ebp - 0x70]
mov edi, dword [ebp - 0xb4]
movups xmm3, xmmword [esi + eax + 8]
movups xmm2, xmmword [esi + eax + 0x18]
movaps xmm1, xmm3
unpckhpd xmm3, xmm2
mulpd xmm3, xmmword [0x681780]
divpd xmm3, xmm0
mov eax, dword [ebp - 0x130]
mov esi, eax
imul esi, ecx
unpcklpd xmm1, xmm2
movups xmmword [edx + ecx*8 + 8], xmm1
lea edi, [edi + esi + 8]
mov esi, dword [ebp - 0x78]
movsd qword [edi], xmm1
movlpd qword [eax + edi], xmm2
movups xmm5, xmmword [edx + ecx*8 + 8]
movaps xmm4, xmm5
mov eax, dword [ebp - 0xa0]
addpd xmm4, xmm3
movups xmmword [eax + ecx*8 + 8], xmm3
movups xmmword [esi + ecx*8 + 8], xmm5
mov edi, dword [ebp - 0x134]
mov eax, dword [ebp - 0x90]
mov esi, edi
imul esi, ecx
movups xmmword [eax + ecx*8 + 8], xmm4
mov eax, dword [ebp - 0xdc]
lea eax, [eax + esi + 8]
mov esi, dword [ebp - 0x118]
movsd qword [eax], xmm3
movhpd qword [edi + eax], xmm3
mov eax, esi
imul eax, ecx
mov edi, dword [ebp - 0xc4]
lea edi, [edi + eax + 8]
mov eax, dword [ebp - 0x138]
movsd qword [edi], xmm4
movhpd qword [esi + edi], xmm4
mov edi, eax
imul edi, ecx
add ecx, 2
mov esi, dword [ebp - 0xe8]
lea esi, [esi + edi + 8]
movsd qword [esi], xmm5
movhpd qword [eax + esi], xmm5
cmp ecx, dword [ebp - 0x64]
jb 0x4d2318
mov eax, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x68]
jae 0x4d2a67
mov edx, dword [ebp - 0x148]
mov esi, dword [ebp - 0x130]
imul esi, eax
mov edi, dword [ebp - 0x154]
lea ecx, [edx + eax*8]
mov dword [ebp - 0x98], ecx
add esi, edx
mov ecx, dword [ebp - 0x138]
imul ecx, eax
lea edx, [edi + eax*8]
mov dword [ebp - 0x74], esi
add ecx, edi
mov esi, dword [ebp - 0x134]
imul esi, eax
mov edi, dword [ebp - 0x150]
add esi, edi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0xac], edx
lea esi, [edi + eax*8]
mov dword [ebp - 0xbc], esi
mov esi, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x144]
imul edx, eax
add edx, dword [ebp - 0x158]
lea edi, [esi + eax*8]
imul eax, dword [ebp - 0x118]
add eax, esi
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x64]
mov edx, eax
shl edx, 4
mov ecx, dword [ebp - 0x4c]
movsd xmm1, qword [0x681810]
mov esi, dword [ebp - 0x74]
mulsd xmm1, qword [ecx + edx + 0x10]
divsd xmm1, qword [0x76e5b0]
movsd xmm0, qword [ecx + edx + 8]
movsd qword [esi + eax*8 + 8], xmm0
mov esi, dword [ebp - 0x130]
imul esi, eax
mov edi, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x88]
movsd qword [edi + esi + 8], xmm0
movsd xmm3, qword [ecx + eax*8 + 8]
movsd qword [edx + eax*8 + 8], xmm1
movaps xmm2, xmm3
mov edx, dword [ebp - 0x50]
addsd xmm2, xmm1
mov edi, dword [ebp - 0x13c]
movsd qword [edx + eax*8 + 8], xmm3
mov edx, dword [ebp - 0x118]
imul edx, eax
movsd qword [edi + eax*8 + 8], xmm2
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0xd0]
imul esi, eax
movsd qword [edi + edx + 8], xmm2
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x138]
imul edx, eax
inc eax
movsd qword [ecx + esi + 8], xmm1
mov ecx, dword [ebp - 0xac]
movsd qword [ecx + edx + 8], xmm3
cmp eax, dword [ebp - 0x68]
jb 0x4d2493
jmp 0x4d2a67
cmp dword [ebp - 0x138], 0
je 0x4d52b7
cmp dword [ebp - 0x118], 0
je 0x4d52b7
cmp dword [ebp - 0x134], 0
je 0x4d52b7
cmp dword [ebp - 0x130], 0
je 0x4d52b7
cmp dword [ebp - 0x68], 2
jl 0x4d52b7
mov edx, dword [ebp - 0x130]
imul edx, eax
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0x164], edx
lea edx, [edx + ecx + 8]
and edx, 0xf
je 0x4d25be
test dl, 7
jne 0x4d52b7
mov edx, 1
lea ecx, [edx + 2]
cmp ecx, dword [ebp - 0x68]
jg 0x4d52b7
mov edi, dword [ebp - 0x68]
mov ecx, edi
sub ecx, edx
and ecx, 1
neg ecx
add ecx, edi
mov edi, dword [ebp - 0x148]
add dword [ebp - 0x164], edi
lea esi, [edi + eax*8]
mov dword [ebp - 0xec], esi
mov esi, dword [ebp - 0x138]
imul esi, eax
mov edi, dword [ebp - 0x154]
add esi, edi
mov dword [ebp - 0xc0], esi
lea esi, [edi + eax*8]
mov dword [ebp - 0xf4], esi
mov esi, dword [ebp - 0x144]
imul esi, eax
mov edi, dword [ebp - 0x158]
mov dword [ebp - 0x140], esi
add edi, esi
mov esi, dword [ebp - 0x134]
imul esi, eax
mov dword [ebp - 0x84], edi
mov edi, dword [ebp - 0x150]
add esi, edi
mov dword [ebp - 0xd4], esi
lea esi, [edi + eax*8]
mov dword [ebp - 0xf8], esi
mov esi, dword [ebp - 0x14c]
lea edi, [esi + eax*8]
mov dword [ebp - 0xfc], edi
mov edi, dword [ebp - 0x118]
imul edi, eax
add edi, esi
mov esi, dword [ebp - 0x140]
mov dword [ebp - 0xe0], edi
test edx, edx
jbe 0x4d274a
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x58], ecx
mov edi, dword [ebp - 0x16c]
mov esi, dword [ebp - 0x164]
mov ecx, edi
shl ecx, 4
mov eax, dword [ebp - 0x84]
movsd xmm0, qword [eax + ecx + 8]
mov ecx, dword [ebp - 0x130]
imul ecx, edi
movsd qword [esi + edi*8 + 8], xmm0
mov eax, dword [ebp - 0xec]
movsd qword [eax + ecx + 8], xmm0
mov eax, dword [ebp - 0xc0]
movsd xmm3, qword [esi + edi*8 + 8]
mov ecx, dword [ebp - 0x134]
movsd qword [eax + edi*8 + 8], xmm3
mov eax, dword [ebp - 0xd4]
imul ecx, edi
movsd xmm1, qword [eax + edi*8 + 8]
mov eax, dword [ebp - 0xf8]
movsd qword [eax + ecx + 8], xmm1
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x118]
imul eax, edi
movsd xmm2, qword [ecx + edi*8 + 8]
mov ecx, dword [ebp - 0xfc]
movsd qword [ecx + eax + 8], xmm2
mov ecx, dword [ebp - 0x138]
imul ecx, edi
inc edi
mov eax, dword [ebp - 0xf4]
movsd qword [eax + ecx + 8], xmm3
cmp edi, edx
jb 0x4d269d
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x140]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0xc0]
lea edi, [eax + edx*8 + 8]
mov eax, dword [ebp - 0x13c]
test edi, 0xf
je 0x4d284d
mov edi, dword [ebp - 0x158]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x164]
lea esi, [edi + esi + 8]
mov dword [ebp - 0x54], esi
mov esi, edx
shl esi, 4
add esi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x130]
mov edi, dword [ebp - 0xec]
movsd xmm0, qword [esi]
movhpd xmm0, qword [esi + 0x10]
mov esi, ecx
imul esi, edx
movups xmmword [eax + edx*8 + 8], xmm0
lea edi, [edi + esi + 8]
mov esi, dword [ebp - 0xf8]
movsd qword [edi], xmm0
movhpd qword [ecx + edi], xmm0
mov ecx, dword [ebp - 0xc0]
movups xmm3, xmmword [eax + edx*8 + 8]
mov edi, dword [ebp - 0x134]
movups xmmword [ecx + edx*8 + 8], xmm3
mov ecx, dword [ebp - 0xd4]
movups xmm1, xmmword [ecx + edx*8 + 8]
mov ecx, edi
imul ecx, edx
lea esi, [esi + ecx + 8]
mov ecx, dword [ebp - 0xfc]
movsd qword [esi], xmm1
movhpd qword [edi + esi], xmm1
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0x118]
movups xmm2, xmmword [edi + edx*8 + 8]
mov edi, esi
imul edi, edx
lea ecx, [ecx + edi + 8]
movsd qword [ecx], xmm2
movhpd qword [esi + ecx], xmm2
mov ecx, dword [ebp - 0x138]
mov edi, ecx
imul edi, edx
add edx, 2
mov esi, dword [ebp - 0xf4]
lea esi, [esi + edi + 8]
movsd qword [esi], xmm3
movhpd qword [ecx + esi], xmm3
cmp edx, dword [ebp - 0x58]
jb 0x4d2788
jmp 0x4d2929
mov edi, dword [ebp - 0x158]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x164]
lea esi, [edi + esi + 8]
mov dword [ebp - 0x5c], esi
mov esi, edx
shl esi, 4
add esi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x130]
mov edi, dword [ebp - 0xec]
movsd xmm0, qword [esi]
movhpd xmm0, qword [esi + 0x10]
mov esi, ecx
imul esi, edx
movups xmmword [eax + edx*8 + 8], xmm0
lea edi, [edi + esi + 8]
mov esi, dword [ebp - 0xf8]
movsd qword [edi], xmm0
movhpd qword [ecx + edi], xmm0
mov ecx, dword [ebp - 0xc0]
movups xmm3, xmmword [eax + edx*8 + 8]
mov edi, dword [ebp - 0x134]
movups xmmword [ecx + edx*8 + 8], xmm3
mov ecx, dword [ebp - 0xd4]
movups xmm1, xmmword [ecx + edx*8 + 8]
mov ecx, edi
imul ecx, edx
lea esi, [esi + ecx + 8]
mov ecx, dword [ebp - 0xfc]
movsd qword [esi], xmm1
movhpd qword [edi + esi], xmm1
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0x118]
movups xmm2, xmmword [edi + edx*8 + 8]
mov edi, esi
imul edi, edx
lea ecx, [ecx + edi + 8]
movsd qword [ecx], xmm2
movhpd qword [esi + ecx], xmm2
mov ecx, dword [ebp - 0x138]
mov edi, ecx
imul edi, edx
add edx, 2
mov esi, dword [ebp - 0xf4]
lea esi, [esi + edi + 8]
movsd qword [esi], xmm3
movhpd qword [ecx + esi], xmm3
cmp edx, dword [ebp - 0x58]
jb 0x4d2869
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x68]
jae 0x4d2a67
mov esi, dword [ebp - 0x148]
mov edi, dword [ebp - 0x138]
imul edi, eax
lea edx, [esi + eax*8]
mov dword [ebp - 0x168], edx
mov edx, dword [ebp - 0x130]
imul edx, eax
add edx, esi
mov esi, dword [ebp - 0x154]
add edi, esi
mov dword [ebp - 0x100], edi
lea edi, [esi + eax*8]
mov esi, dword [ebp - 0x144]
imul esi, eax
mov dword [ebp - 0x10c], edi
mov edi, dword [ebp - 0x134]
imul edi, eax
add esi, dword [ebp - 0x158]
mov dword [ebp - 0x104], esi
mov esi, dword [ebp - 0x150]
add edi, esi
mov dword [ebp - 0x108], edi
lea edi, [esi + eax*8]
mov dword [ebp - 0x110], edi
mov edi, dword [ebp - 0x14c]
lea esi, [edi + eax*8]
mov dword [ebp - 0x114], esi
imul eax, dword [ebp - 0x118]
add eax, edi
mov edi, dword [ebp - 0x168]
mov dword [ebp - 0x13c], eax
mov esi, ecx
shl esi, 4
mov eax, dword [ebp - 0x104]
movsd xmm0, qword [eax + esi + 8]
mov eax, dword [ebp - 0x130]
imul eax, ecx
movsd qword [edx + ecx*8 + 8], xmm0
movsd qword [edi + eax + 8], xmm0
mov eax, dword [ebp - 0x100]
movsd xmm3, qword [edx + ecx*8 + 8]
mov esi, dword [ebp - 0x134]
movsd qword [eax + ecx*8 + 8], xmm3
mov eax, dword [ebp - 0x108]
imul esi, ecx
movsd xmm1, qword [eax + ecx*8 + 8]
mov eax, dword [ebp - 0x110]
movsd qword [eax + esi + 8], xmm1
mov esi, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x118]
imul eax, ecx
movsd xmm2, qword [esi + ecx*8 + 8]
mov esi, dword [ebp - 0x114]
movsd qword [esi + eax + 8], xmm2
mov esi, dword [ebp - 0x138]
imul esi, ecx
inc ecx
mov eax, dword [ebp - 0x10c]
movsd qword [eax + esi + 8], xmm3
cmp ecx, dword [ebp - 0x68]
jb 0x4d29ce
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0xc]
jb 0x4d1bc4
mov edi, dword [ebp - 0x178]
test byte [ebp - 0x174], 1
jne 0x4d2ab8
cmp dword [ebp - 0x124], 0
je 0x4d41f0
mov edx, dword [0x6c81cc]
jmp 0x4d3933
and dword [ebp - 0x124], 1
test byte [ebp - 0x174], 1
je 0x4d38f3
cmp dword [ebp - 0xc], 0
jle 0x4d2e2b
mov esi, dword [0x6c8814]
mov eax, dword [0x6c8670]
mov dword [ebp - 0x158], esi
mov edi, dword [0x6c8810]
mov esi, dword [0x6c85f8]
mov dword [ebp - 0x154], eax
mov edx, dword [0x6c8650]
mov ecx, dword [0x6c8678]
mov dword [ebp - 0x15c], edi
mov eax, dword [0x6c8808]
mov dword [ebp - 0x174], esi
mov edi, dword [0x6c8620]
mov esi, dword [0x6c8618]
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x160], eax
mov edx, dword [0x6c867c]
mov ecx, dword [0x6c87e8]
mov eax, dword [0x6c8624]
mov dword [ebp - 0x178], edi
mov dword [ebp - 0x164], esi
cmp dword [ebp - 0xc], 2
jl 0x4d5b65
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp - 0x178]
imul edi, esi
imul esi, eax
mov dword [ebp - 0x170], ecx
mov ecx, dword [ebp - 0x164]
add edi, dword [ebp - 0x174]
mov dword [ebp - 0x140], edi
sub edi, esi
mov dword [ebp - 0x138], esi
shl ecx, 3
sub edi, ecx
add edi, 8
mov ecx, dword [ebp - 0x170]
and edi, 0xf
mov dword [ebp - 0x130], edi
je 0x4d2b9c
test byte [ebp - 0x130], 7
jne 0x4d5b65
mov dword [ebp - 0x130], 1
mov esi, dword [ebp - 0x130]
lea edi, [esi + 2]
cmp edi, dword [ebp - 0xc]
jg 0x4d5b65
mov esi, dword [ebp - 0xc]
mov edi, esi
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x130]
sub edi, eax
and edi, 1
neg edi
add edi, esi
mov dword [ebp - 0x134], edi
mov edi, dword [ebp - 0x164]
mov esi, dword [ebp - 0x138]
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x170], ecx
lea esi, [esi + edi*8]
mov edi, dword [ebp - 0x48]
sub edi, edx
mov edx, dword [ebp - 0x154]
imul edi, dword [ebp - 0x150]
sub dword [ebp - 0x140], esi
lea esi, [edx*8]
neg esi
add esi, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x15c]
add edi, esi
mov esi, dword [ebp - 0x158]
imul esi, edx
neg esi
add esi, ecx
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0x148], edi
mov edi, edx
add edx, edx
shl ecx, 3
sub edi, ecx
sub edx, ecx
add edi, esi
add esi, edx
mov dword [ebp - 0x144], edi
mov dword [ebp - 0x13c], esi
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x16c]
test eax, eax
mov eax, dword [ebp - 0x168]
jbe 0x4d2cbd
mov dword [ebp - 0x170], ecx
xor esi, esi
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x13c]
mov edx, edi
mov ecx, dword [ebp - 0x148]
mov edi, dword [ebp - 0x140]
movsd xmm0, qword [edx + esi*8 + 8]
movsd xmm1, qword [eax + esi*8 + 8]
movsd qword [ecx + esi*8 + 8], xmm0
movsd qword [edi + esi*8 + 8], xmm1
inc esi
cmp esi, dword [ebp - 0x130]
jb 0x4d2c8a
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x168]
mov esi, dword [ebp - 0x148]
mov edi, dword [ebp - 0x130]
lea esi, [esi + edi*8 + 8]
test esi, 0xf
je 0x4d2d20
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x148]
mov esi, dword [ebp - 0x140]
movups xmm0, xmmword [edx + edi*8 + 8]
movups xmm1, xmmword [eax + edi*8 + 8]
movups xmmword [ecx + edi*8 + 8], xmm0
movups xmmword [esi + edi*8 + 8], xmm1
add edi, 2
cmp edi, dword [ebp - 0x134]
jb 0x4d2cff
jmp 0x4d2d69
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x148]
mov esi, dword [ebp - 0x140]
movups xmm0, xmmword [edx + edi*8 + 8]
movups xmm1, xmmword [eax + edi*8 + 8]
movups xmmword [ecx + edi*8 + 8], xmm0
movups xmmword [esi + edi*8 + 8], xmm1
add edi, 2
cmp edi, dword [ebp - 0x134]
jb 0x4d2d4a
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x168]
mov esi, dword [ebp - 0x134]
cmp esi, dword [ebp - 0xc]
jae 0x4d2e2b
neg eax
neg edx
mov edi, dword [ebp - 0x48]
add eax, edi
imul eax, dword [ebp - 0x178]
add edx, edi
imul edx, dword [ebp - 0x150]
mov dword [ebp - 0x170], ecx
mov ecx, dword [ebp - 0x164]
shl ecx, 3
mov esi, dword [ebp - 0x174]
sub esi, ecx
mov ecx, dword [ebp - 0x154]
add eax, esi
shl ecx, 3
mov esi, dword [ebp - 0x14c]
sub esi, ecx
add edx, esi
mov dword [ebp - 0x16c], edx
mov edi, dword [ebp - 0x158]
mov edx, dword [ebp - 0x15c]
mov esi, edx
imul edi, edx
add edx, edx
mov ecx, dword [ebp - 0x170]
sub ecx, edi
mov edi, dword [ebp - 0x160]
shl edi, 3
sub esi, edi
sub edx, edi
add esi, ecx
add ecx, edx
mov edx, dword [ebp - 0x16c]
mov edi, dword [ebp - 0x134]
movsd xmm0, qword [esi + edi*8 + 8]
movsd xmm1, qword [ecx + edi*8 + 8]
movsd qword [edx + edi*8 + 8], xmm0
movsd qword [eax + edi*8 + 8], xmm1
inc edi
cmp edi, dword [ebp - 0xc]
jb 0x4d2e0d
mov eax, dword [0x6c8768]
shl eax, 3
mov esi, dword [0x6c8718]
neg eax
shl esi, 3
mov edx, dword [0x6c8740]
neg esi
shl edx, 3
add eax, dword [0x6c8748]
neg edx
mov ecx, dword [ebp - 0x48]
add esi, dword [0x6c86f8]
add edx, dword [0x6c8720]
mov edi, dword [0x6c86f0]
movsd xmm0, qword [0x76e340]
shl edi, 3
movsd xmm2, qword [0x76e350]
neg edi
movsd qword [eax + ecx*8], xmm0
mov eax, dword [0x6c86c8]
movsd xmm1, qword [0x76e348]
shl eax, 3
movsd qword [esi + ecx*8], xmm2
neg eax
mov esi, dword [0x6c85f0]
add edi, dword [0x6c86d0]
shl esi, 3
movsd qword [edx + ecx*8], xmm1
neg esi
mov edx, dword [0x6c86a0]
shl edx, 3
add eax, dword [0x6c86a8]
neg edx
movsd xmm3, qword [0x76e358]
add esi, dword [0x6c85d0]
movsd qword [edi + ecx*8], xmm3
add edx, dword [0x6c8680]
mov edi, dword [0x6c8628]
movsd xmm4, qword [0x76e360]
movsd xmm6, qword [0x76e370]
movsd qword [eax + ecx*8], xmm4
mov eax, dword [0x6c8648]
movsd xmm5, qword [0x76e368]
shl eax, 3
movsd qword [esi + ecx*8], xmm6
neg eax
mov esi, dword [0x6c8508]
movsd qword [edx + ecx*8], xmm5
lea ecx, [edi + ecx*8]
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x168], eax
mov ecx, dword [0x6c84e0]
mov edi, dword [0x6c8500]
mov dword [ebp - 0x130], esi
mov esi, 0x76e3d0
mov eax, dword [0x6c84dc]
mov edx, dword [0x6c850c]
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x15c], edi
mov dword [ebp - 0x150], eax
movsd xmm0, qword [0x76e378]
mov dword [ebp - 0x170], edx
mov ecx, dword [0x6c84b0]
mov edi, dword [0x6c84d8]
mov eax, dword [0x6c84d0]
and esi, 0xf
je 0x4d3020
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x178], ecx
mov ecx, dword [ebp - 0x48]
imul ecx, edx
imul edx, dword [ebp - 0x170]
mov dword [ebp - 0x14c], edi
mov edi, dword [ebp - 0x15c]
mov dword [ebp - 0x160], edx
add ecx, dword [ebp - 0x134]
mov dword [ebp - 0x158], ecx
lea edx, [edx + edi*8]
neg edx
lea esi, [edi*8]
mov dword [ebp - 0x164], esi
add edx, ecx
mov edi, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x178]
mov esi, dword [ebp - 0x48]
imul esi, edi
imul edi, dword [ebp - 0x150]
movsd xmm1, qword [0x76e380]
movsd xmm2, qword [0x76e3d0]
movsd qword [edx + 8], xmm1
add ecx, esi
lea esi, [eax*8]
mov dword [ebp - 0x174], esi
lea eax, [edi + eax*8]
neg eax
mov esi, 1
add eax, ecx
mov dword [ebp - 0x154], eax
movsd qword [eax + 8], xmm2
jmp 0x4d309f
mov dword [ebp - 0x178], esi
mov esi, dword [ebp - 0x48]
mov edx, esi
imul edx, edi
imul edi, dword [ebp - 0x150]
mov dword [ebp - 0x14c], edi
add ecx, edx
lea edx, [eax*8]
mov dword [ebp - 0x174], edx
mov edx, dword [ebp - 0x15c]
lea eax, [edi + eax*8]
mov edi, dword [ebp - 0x130]
neg eax
imul esi, edi
add eax, ecx
imul edi, dword [ebp - 0x170]
mov dword [ebp - 0x154], eax
lea eax, [edx*8]
add esi, dword [ebp - 0x134]
lea edx, [edi + edx*8]
neg edx
mov dword [ebp - 0x158], esi
add edx, esi
mov dword [ebp - 0x160], edi
mov dword [ebp - 0x164], eax
mov esi, dword [ebp - 0x178]
mov edi, dword [ebp - 0x14c]
mov eax, esi
neg eax
add eax, 2
and eax, 3
neg eax
mov dword [ebp - 0x14c], eax
lea eax, [eax + 0xa]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x154]
lea eax, [eax + esi*8 + 8]
test al, 0xf
je 0x4d3117
mov dword [ebp - 0x178], ecx
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x154]
movups xmm1, xmmword [esi*8 + 0x76e380]
movups xmm3, xmmword [esi*8 + 0x76e390]
movups xmm2, xmmword [esi*8 + 0x76e3d0]
movups xmm4, xmmword [esi*8 + 0x76e3e0]
movups xmmword [edx + esi*8 + 8], xmm1
movups xmmword [ecx + esi*8 + 8], xmm2
movups xmmword [edx + esi*8 + 0x18], xmm3
movups xmmword [ecx + esi*8 + 0x18], xmm4
add esi, 4
cmp esi, eax
jb 0x4d30da
jmp 0x4d3164
mov dword [ebp - 0x178], ecx
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x154]
movups xmm1, xmmword [esi*8 + 0x76e380]
movups xmm3, xmmword [esi*8 + 0x76e390]
movups xmm2, xmmword [esi*8 + 0x76e3d0]
movups xmm4, xmmword [esi*8 + 0x76e3e0]
movups xmmword [edx + esi*8 + 8], xmm1
movups xmmword [edx + esi*8 + 0x18], xmm3
movups xmmword [ecx + esi*8 + 8], xmm2
movups xmmword [ecx + esi*8 + 0x18], xmm4
add esi, 4
cmp esi, eax
jb 0x4d3129
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x178]
lea eax, [esi + eax + 0xa]
neg esi
lea esi, [eax + esi + 1]
cmp dword [ebp - 0x150], 0xa
jae 0x4d31c2
mov eax, dword [ebp - 0x150]
mov esi, dword [ebp - 0x154]
movsd xmm1, qword [eax*8 + 0x76e380]
movsd xmm2, qword [eax*8 + 0x76e3d0]
movsd qword [edx + eax*8 + 8], xmm1
movsd qword [esi + eax*8 + 8], xmm2
inc eax
cmp eax, 0xa
jb 0x4d3195
mov dword [ebp - 0x150], eax
lea esi, [eax + 1]
mov edx, dword [0x6c8420]
mov dword [ebp - 0x140], esi
mov eax, dword [0x6c8400]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x138], edx
shl edx, 2
mov dword [ebp - 0x13c], eax
neg edx
lea eax, [eax + esi*4]
mov esi, dword [ebp - 0x140]
add edx, eax
cmp dword [edx], 1
je 0x4d5760
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x168]
movsd qword [edx + ecx], xmm0
mov edx, dword [ebp - 0x138]
shl edx, 2
neg edx
cmp dword [edx + eax], 1
je 0x4d530c
push dword [0x6c8230]
push dword [ebp - 0x128]
call fcn.00570260
add esp, 8
cmp dword [ebp - 0xc], 0
jle 0x4d52fe
mov ecx, dword [0x6c60a0]
mov esi, dword [0x6c60e0]
mov dword [ebp - 0xfc], ecx
mov ecx, dword [0x6c8250]
shl ecx, 3
mov dword [ebp - 0xf8], esi
mov esi, dword [0x6c8230]
mov edi, dword [0x6c8258]
sub esi, ecx
mov ecx, dword [0x6c825c]
imul ecx, edi
sub esi, ecx
mov dword [ebp - 0x158], edi
add esi, edi
mov eax, dword [0x6c81c0]
mov edi, dword [0x6c8280]
shl edi, 3
mov dword [ebp - 0x160], esi
mov dword [ebp - 0x11c], eax
mov esi, dword [0x6c8260]
mov eax, dword [0x6c8288]
sub esi, edi
mov edi, dword [0x6c828c]
imul edi, eax
mov edx, dword [0x6c81a0]
sub esi, edi
mov dword [ebp - 0x120], edx
add esi, eax
mov edx, dword [0x6c81c8]
mov ecx, dword [0x6c81cc]
imul ecx, edx
mov dword [ebp - 0xf4], eax
mov eax, dword [0x6c81c0]
mov dword [ebp - 0x164], esi
mov esi, ecx
sub esi, edx
neg esi
shl eax, 3
neg eax
add eax, dword [0x6c81a0]
add esi, eax
sub eax, ecx
mov dword [ebp - 0x118], edx
add eax, edx
mov edx, dword [0x6c60d8]
shl edx, 3
mov dword [ebp - 0x174], esi
mov dword [ebp - 0x15c], eax
mov esi, dword [0x6c60b8]
mov eax, dword [0x6c60f0]
sub esi, edx
mov ecx, dword [0x6c60e4]
neg eax
mov edx, dword [0x6c60e0]
imul ecx, edx
mov edi, dword [ebp - 0x48]
add eax, edi
imul eax, dword [0x6c60ec]
sub esi, ecx
add esi, edx
add eax, esi
mov esi, dword [0x6c60b0]
neg esi
add esi, edi
mov edi, dword [0x6c6098]
shl edi, 3
mov ecx, dword [0x6c6078]
mov edx, dword [0x6c60a4]
sub ecx, edi
mov edi, dword [0x6c60a0]
imul edx, edi
imul esi, dword [0x6c60ac]
sub ecx, edx
add ecx, edi
mov dword [ebp - 0x100], 0
add esi, ecx
mov edx, dword [0x6c81cc]
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x164]
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x170], esi
lea edx, [eax + 1]
mov dword [ebp - 0x108], edx
test edx, edx
jle 0x4d38d0
cmp dword [ebp - 0xf8], 0
je 0x4d52ef
cmp dword [ebp - 0x118], 0
je 0x4d52ef
cmp dword [ebp - 0xf4], 0
je 0x4d52ef
cmp dword [ebp - 0xfc], 0
je 0x4d52ef
cmp dword [ebp - 0x108], 2
jl 0x4d52ef
mov edx, dword [ebp - 0x118]
imul edx, eax
mov ecx, dword [ebp - 0x174]
lea ecx, [edx + ecx + 8]
and ecx, 0xf
je 0x4d3420
test cl, 7
jne 0x4d52ef
mov ecx, 1
lea esi, [ecx + 2]
cmp esi, dword [ebp - 0x108]
jg 0x4d52ef
mov edi, dword [ebp - 0x108]
mov esi, edi
sub esi, ecx
and esi, 1
neg esi
add esi, edi
mov edi, dword [ebp - 0x158]
imul edi, eax
mov dword [ebp - 0x104], esi
mov esi, dword [ebp - 0x164]
add edi, dword [ebp - 0x160]
mov dword [ebp - 0x110], edi
lea edi, [esi + eax*8]
mov dword [ebp - 0x130], edi
mov edi, dword [ebp - 0xf4]
imul edi, eax
add edi, esi
mov dword [ebp - 0x128], edi
mov edi, dword [ebp - 0x15c]
add edx, edi
lea esi, [edi + eax*8]
mov edi, dword [ebp - 0x168]
mov dword [ebp - 0x134], esi
lea esi, [edi + eax*8]
mov dword [ebp - 0x13c], esi
mov esi, dword [ebp - 0xf8]
imul esi, eax
add esi, edi
mov dword [ebp - 0x10c], esi
mov esi, dword [ebp - 0x170]
lea edi, [esi + eax*8]
mov dword [ebp - 0x138], edi
mov edi, dword [ebp - 0xfc]
imul edi, eax
add edi, esi
mov dword [ebp - 0x114], edi
test ecx, ecx
jbe 0x4d359d
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x100], eax
pxor xmm0, xmm0
mov eax, dword [ebp - 0x178]
mov esi, dword [ebp - 0x114]
movsd xmm1, qword [0x681838]
mulsd xmm1, qword [0x76e5b0]
movsd qword [esi + eax*8 + 8], xmm0
mov esi, dword [ebp - 0x110]
mov edi, dword [ebp - 0x128]
mulsd xmm1, qword [esi + eax*8 + 8]
mov esi, dword [ebp - 0xfc]
imul esi, eax
movsd qword [edi + eax*8 + 8], xmm0
movsd qword [edx + eax*8 + 8], xmm1
mov edi, dword [ebp - 0x138]
movsd qword [edi + esi + 8], xmm0
mov esi, dword [ebp - 0xf4]
imul esi, eax
mov edi, dword [ebp - 0x130]
movsd qword [edi + esi + 8], xmm0
mov esi, dword [ebp - 0x118]
imul esi, eax
mov edi, dword [ebp - 0x134]
movsd qword [edi + esi + 8], xmm1
mov edi, dword [ebp - 0x10c]
movsd xmm2, qword [edx + eax*8 + 8]
mov esi, dword [ebp - 0x13c]
movsd qword [edi + eax*8 + 8], xmm2
mov edi, dword [ebp - 0xf8]
imul edi, eax
inc eax
movsd qword [esi + edi + 8], xmm2
cmp eax, ecx
jb 0x4d34ee
mov eax, dword [ebp - 0x100]
lea edi, [ebp - 0x100]
mov dword [edi], eax
mov eax, dword [ebp - 0x10c]
lea esi, [eax + ecx*8 + 8]
mov eax, dword [edi]
test esi, 0xf
je 0x4d36a1
mov dword [ebp - 0x100], eax
pxor xmm0, xmm0
mov eax, dword [ebp - 0x110]
mov edi, dword [ebp - 0x128]
mov esi, dword [ebp - 0x114]
movups xmm2, xmmword [eax + ecx*8 + 8]
movups xmmword [edi + ecx*8 + 8], xmm0
movups xmmword [esi + ecx*8 + 8], xmm0
mov eax, dword [ebp - 0xfc]
mov edi, eax
imul edi, ecx
movsd xmm1, qword [0x681838]
mulsd xmm1, qword [0x76e5b0]
mov esi, dword [ebp - 0x138]
unpcklpd xmm1, xmm1
mulpd xmm1, xmm2
movups xmmword [edx + ecx*8 + 8], xmm1
lea esi, [esi + edi + 8]
mov edi, dword [ebp - 0xf4]
movsd qword [esi], xmm0
movhpd qword [eax + esi], xmm0
mov esi, edi
imul esi, ecx
mov eax, dword [ebp - 0x130]
lea eax, [eax + esi + 8]
mov esi, dword [ebp - 0x118]
movsd qword [eax], xmm0
movhpd qword [edi + eax], xmm0
mov eax, esi
imul eax, ecx
mov edi, dword [ebp - 0x134]
lea edi, [edi + eax + 8]
mov eax, dword [ebp - 0xf8]
movsd qword [edi], xmm1
movhpd qword [esi + edi], xmm1
mov edi, eax
mov esi, dword [ebp - 0x10c]
imul edi, ecx
movups xmm3, xmmword [edx + ecx*8 + 8]
movups xmmword [esi + ecx*8 + 8], xmm3
mov esi, dword [ebp - 0x13c]
add ecx, 2
lea esi, [esi + edi + 8]
movsd qword [esi], xmm3
movhpd qword [eax + esi], xmm3
cmp ecx, dword [ebp - 0x104]
jb 0x4d35c7
jmp 0x4d3780
mov dword [ebp - 0x100], eax
pxor xmm0, xmm0
mov eax, dword [ebp - 0x110]
mov edi, dword [ebp - 0x128]
mov esi, dword [ebp - 0x114]
movups xmm2, xmmword [eax + ecx*8 + 8]
movups xmmword [edi + ecx*8 + 8], xmm0
movups xmmword [esi + ecx*8 + 8], xmm0
mov eax, dword [ebp - 0xfc]
mov edi, eax
imul edi, ecx
movsd xmm1, qword [0x681838]
mulsd xmm1, qword [0x76e5b0]
mov esi, dword [ebp - 0x138]
unpcklpd xmm1, xmm1
mulpd xmm1, xmm2
movups xmmword [edx + ecx*8 + 8], xmm1
lea esi, [esi + edi + 8]
mov edi, dword [ebp - 0xf4]
movsd qword [esi], xmm0
movhpd qword [eax + esi], xmm0
mov esi, edi
imul esi, ecx
mov eax, dword [ebp - 0x130]
lea eax, [eax + esi + 8]
mov esi, dword [ebp - 0x118]
movsd qword [eax], xmm0
movhpd qword [edi + eax], xmm0
mov eax, esi
imul eax, ecx
mov edi, dword [ebp - 0x134]
lea edi, [edi + eax + 8]
mov eax, dword [ebp - 0xf8]
movsd qword [edi], xmm1
movhpd qword [esi + edi], xmm1
mov edi, eax
mov esi, dword [ebp - 0x10c]
imul edi, ecx
movups xmm3, xmmword [edx + ecx*8 + 8]
movups xmmword [esi + ecx*8 + 8], xmm3
mov esi, dword [ebp - 0x13c]
add ecx, 2
lea esi, [esi + edi + 8]
movsd qword [esi], xmm3
movhpd qword [eax + esi], xmm3
cmp ecx, dword [ebp - 0x104]
jb 0x4d36ab
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0x104]
cmp edx, dword [ebp - 0x108]
jae 0x4d38d0
mov edi, dword [ebp - 0x164]
mov esi, dword [ebp - 0x158]
pxor xmm0, xmm0
mov edx, dword [ebp - 0x15c]
imul esi, eax
lea ecx, [edi + eax*8]
mov dword [ebp - 0x148], ecx
lea ecx, [edx + eax*8]
mov dword [ebp - 0x14c], ecx
mov ecx, dword [ebp - 0x118]
imul ecx, eax
add esi, dword [ebp - 0x160]
add ecx, edx
mov dword [ebp - 0x140], esi
mov esi, dword [ebp - 0xf4]
imul esi, eax
mov edx, dword [ebp - 0x168]
add esi, edi
lea edi, [edx + eax*8]
mov dword [ebp - 0x150], edi
mov edi, dword [ebp - 0xf8]
imul edi, eax
add edi, edx
mov dword [ebp - 0x144], edi
mov edi, dword [ebp - 0x170]
lea edx, [edi + eax*8]
mov dword [ebp - 0x154], edx
imul eax, dword [ebp - 0xfc]
add eax, edi
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x104]
movsd xmm1, qword [0x681838]
mulsd xmm1, qword [0x76e5b0]
mov edi, dword [ebp - 0x140]
mov edx, dword [ebp - 0x100]
movsd qword [esi + eax*8 + 8], xmm0
mulsd xmm1, qword [edi + eax*8 + 8]
mov edi, dword [ebp - 0xfc]
imul edi, eax
movsd qword [edx + eax*8 + 8], xmm0
movsd qword [ecx + eax*8 + 8], xmm1
mov edx, dword [ebp - 0x154]
movsd qword [edx + edi + 8], xmm0
mov edi, dword [ebp - 0xf4]
imul edi, eax
mov edx, dword [ebp - 0x148]
movsd qword [edx + edi + 8], xmm0
mov edi, dword [ebp - 0x118]
imul edi, eax
mov edx, dword [ebp - 0x14c]
movsd qword [edx + edi + 8], xmm1
mov edx, dword [ebp - 0x144]
movsd xmm2, qword [ecx + eax*8 + 8]
mov edi, dword [ebp - 0x150]
movsd qword [edx + eax*8 + 8], xmm2
mov edx, dword [ebp - 0xf8]
imul edx, eax
inc eax
movsd qword [edi + edx + 8], xmm2
cmp eax, dword [ebp - 0x108]
jb 0x4d3829
mov eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0xc]
jb 0x4d33a8
mov edx, dword [ebp - 0x16c]
cmp dword [ebp - 0x124], 0
jne 0x4d3933
jmp 0x4d41e7
cmp dword [ebp - 0x124], 0
je 0x4d41e7
cmp dword [ebp - 0xc], 0
jle 0x4d52df
mov eax, dword [0x6c81c8]
mov ecx, dword [0x6c81c0]
mov esi, dword [0x6c81a0]
mov edx, dword [0x6c81cc]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x120], esi
imul edx, dword [ebp - 0x118]
mov eax, 1
movsd xmm0, qword [0x681878]
movsd xmm1, qword [0x681880]
xorps xmm0, xmmword [0x6817f0]
shl dword [ebp - 0x11c], 3
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x140], eax
mov edi, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x120]
lea esi, [edi*8]
imul edi, dword [ebp - 0x118]
mov eax, esi
sub eax, dword [ebp - 0x11c]
mov dword [ebp - 0x15c], edi
sub edi, dword [ebp - 0x16c]
add ecx, eax
lea edx, [edi + ecx]
mov dword [ebp - 0x104], edx
movsd xmm2, qword [edx]
andps xmm2, xmmword [0x6817e0]
comisd xmm1, xmm2
ja 0x4d5ba8
movaps xmm2, xmm0
divsd xmm2, qword [edi + ecx]
mov dword [ebp - 0x164], edi
movsd qword [edi + ecx], xmm2
mov edi, dword [ebp - 0x120]
mov dword [ebp - 0x160], eax
mov eax, edi
sub eax, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x118]
mov esi, eax
mov dword [ebp - 0x168], ecx
mov ecx, dword [ebp - 0x16c]
sub ecx, edx
mov dword [ebp - 0x154], ecx
sub esi, ecx
mov ecx, eax
sub ecx, dword [ebp - 0x16c]
sub edi, dword [ebp - 0x16c]
add ecx, edx
mov dword [ebp - 0x134], ecx
mov ecx, dword [ebp - 0x160]
add ecx, edi
mov dword [ebp - 0x138], esi
mov esi, dword [ebp - 0x140]
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x114], 0
add edx, ecx
mov dword [ebp - 0xfc], edx
lea edi, [esi - 1]
mov edx, dword [ebp - 0x164]
mov dword [ebp - 0x128], edi
lea ecx, [edx + eax]
mov dword [ebp - 0x100], ecx
mov ecx, dword [ebp - 0xc]
cmp edi, ecx
mov edx, ecx
cmovb edx, edi
test esi, esi
mov dword [ebp - 0x12c], edx
mov edx, 0
cmovg edx, esi
add eax, dword [ebp - 0x15c]
sub ecx, edx
sub eax, dword [ebp - 0x16c]
mov dword [ebp - 0x130], ecx
shr ecx, 1
lea esi, [edx + 1]
mov dword [ebp - 0x124], esi
lea eax, [eax + edx*8]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebp - 0x12c]
shr ecx, 1
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x13c], edx
mov edi, dword [ebp - 0x164]
mov esi, dword [ebp - 0x128]
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x114]
inc ecx
mov dword [ebp - 0x114], ecx
cmp ecx, dword [ebp - 0x140]
je 0x4d3cf2
cmp dword [ebp - 0x128], 0
jle 0x4d3bec
cmp dword [ebp - 0x10c], 0
jbe 0x4d5b9e
mov esi, dword [ebp - 0x134]
xor ecx, ecx
mov dword [ebp - 0xf8], edx
mov eax, ecx
add esi, edx
mov dword [ebp - 0xf0], esi
nop dword [eax + eax]
nop dword [eax]
mov dword [ebp - 0xec], ecx
mov ecx, dword [ebp - 0x104]
mov edi, dword [ebp - 0xfc]
mov esi, dword [ebp - 0xf8]
movsd xmm2, qword [ecx]
mov edx, dword [ebp - 0x100]
mulsd xmm2, qword [esi + edi]
mulsd xmm2, qword [eax + edx + 8]
mov edx, dword [ebp - 0xf0]
addsd xmm2, qword [eax + edx + 8]
movsd qword [eax + edx + 8], xmm2
movsd xmm3, qword [ecx]
mulsd xmm3, qword [esi + edi]
mov ecx, dword [ebp - 0x100]
mulsd xmm3, qword [eax + ecx + 0x10]
mov ecx, dword [ebp - 0xec]
inc ecx
addsd xmm3, qword [eax + edx + 0x10]
movsd qword [eax + edx + 0x10], xmm3
add eax, 0x10
cmp ecx, dword [ebp - 0x10c]
jb 0x4d3b30
mov edx, esi
lea esi, [ecx + ecx + 1]
mov eax, dword [ebp - 0x124]
lea ecx, [esi - 1]
cmp ecx, dword [ebp - 0x12c]
jae 0x4d3bec
mov edi, dword [ebp - 0x134]
lea ecx, [edi + esi*8]
mov edi, dword [ebp - 0x104]
movsd xmm2, qword [edi]
mov edi, dword [ebp - 0xfc]
mulsd xmm2, qword [edx + edi]
mov edi, dword [ebp - 0x100]
mulsd xmm2, qword [edi + esi*8]
addsd xmm2, qword [ecx + edx]
movsd qword [ecx + edx], xmm2
cmp eax, dword [ebp - 0xc]
ja 0x4d3cf2
cmp dword [ebp - 0x108], 0
jbe 0x4d5b94
mov esi, dword [ebp - 0x138]
xor ecx, ecx
mov dword [ebp - 0xf8], edx
mov eax, ecx
lea edi, [esi + edx]
mov esi, dword [ebp - 0x13c]
lea esi, [edi + esi*8]
mov dword [ebp - 0xf4], esi
nop dword [eax + eax]
nop dword [eax]
mov dword [ebp - 0xe8], ecx
mov ecx, dword [ebp - 0x104]
mov edi, dword [ebp - 0xfc]
mov esi, dword [ebp - 0xf8]
movsd xmm2, qword [ecx]
mov edx, dword [ebp - 0x110]
mulsd xmm2, qword [esi + edi]
mulsd xmm2, qword [eax + edx + 8]
mov edx, dword [ebp - 0xf4]
addsd xmm2, qword [eax + edx + 8]
movsd qword [eax + edx + 8], xmm2
movsd xmm3, qword [ecx]
mulsd xmm3, qword [esi + edi]
mov ecx, dword [ebp - 0x110]
mulsd xmm3, qword [eax + ecx + 0x10]
mov ecx, dword [ebp - 0xe8]
inc ecx
addsd xmm3, qword [eax + edx + 0x10]
movsd qword [eax + edx + 0x10], xmm3
add eax, 0x10
cmp ecx, dword [ebp - 0x108]
jb 0x4d3c30
mov edx, esi
lea esi, [ecx + ecx + 1]
mov eax, dword [ebp - 0x124]
lea ecx, [esi - 1]
cmp ecx, dword [ebp - 0x130]
jae 0x4d3cf2
add esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x134]
lea ecx, [edi + esi*8]
mov edi, dword [ebp - 0x104]
movsd xmm2, qword [edi]
mov edi, dword [ebp - 0xfc]
mulsd xmm2, qword [edx + edi]
mov edi, dword [ebp - 0x100]
mulsd xmm2, qword [edi + esi*8]
addsd xmm2, qword [ecx + edx]
movsd qword [ecx + edx], xmm2
mov ecx, dword [ebp - 0x114]
add edx, dword [ebp - 0x118]
cmp ecx, dword [ebp - 0xc]
jb 0x4d3ad6
mov esi, dword [ebp - 0x128]
mov edx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x160]
mov edi, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x168]
test esi, esi
jle 0x4d3e7d
cmp dword [ebp - 0x10c], 0
jbe 0x4d5b85
mov dword [ebp - 0x13c], edx
xor esi, esi
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x170], esi
mov dword [ebp - 0x150], esi
mov dword [ebp - 0x164], edi
lea eax, [eax + edx*2]
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x168], ecx
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xfc]
mov edi, dword [ebp - 0x148]
movsd xmm2, qword [eax]
xorps xmm2, xmmword [0x6817f0]
mulsd xmm2, qword [ecx + esi*2]
movsd qword [ecx + esi*2], xmm2
mov ecx, dword [ebp - 0x100]
movsd xmm3, qword [eax]
xorps xmm3, xmmword [0x6817f0]
mulsd xmm3, qword [edx + ecx + 8]
movsd qword [edx + ecx + 8], xmm3
movsd xmm4, qword [eax]
xorps xmm4, xmmword [0x6817f0]
mulsd xmm4, qword [edi + esi*2]
movsd qword [edi + esi*2], xmm4
movsd xmm5, qword [eax]
xorps xmm5, xmmword [0x6817f0]
mulsd xmm5, qword [edx + ecx + 0x10]
mov eax, dword [ebp - 0x150]
inc eax
add esi, dword [ebp - 0x118]
movsd qword [edx + ecx + 0x10], xmm5
add edx, 0x10
mov dword [ebp - 0x150], eax
cmp eax, dword [ebp - 0x10c]
jb 0x4d3d6f
mov edx, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x168]
lea esi, [eax + eax + 1]
mov dword [ebp - 0x158], esi
mov eax, dword [ebp - 0x158]
lea esi, [eax - 1]
cmp esi, dword [ebp - 0x12c]
jae 0x4d3e7d
mov esi, ecx
mov dword [ebp - 0x13c], edx
mov edx, dword [ebp - 0x118]
imul edx, eax
movsd xmm2, qword [edi + ecx]
xorps xmm2, xmmword [0x6817f0]
sub esi, dword [ebp - 0x16c]
mulsd xmm2, qword [edx + esi]
movsd qword [edx + esi], xmm2
mov edx, dword [ebp - 0x100]
movsd xmm3, qword [edi + ecx]
xorps xmm3, xmmword [0x6817f0]
mulsd xmm3, qword [edx + eax*8]
movsd qword [edx + eax*8], xmm3
mov edx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x124]
cmp eax, dword [ebp - 0xc]
ja 0x4d3fdc
cmp dword [ebp - 0x108], 0
jbe 0x4d5b7b
mov dword [ebp - 0x164], edi
xor esi, esi
mov edi, dword [ebp - 0x118]
mov eax, edi
imul eax, edx
mov dword [ebp - 0x13c], edx
add edi, edi
neg edi
add edi, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x154]
neg edi
neg edx
add edi, ecx
add edx, ecx
add edx, eax
add eax, edi
mov dword [ebp - 0x14c], eax
xor eax, eax
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x168], ecx
mov ecx, eax
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0x144], esi
mov esi, dword [ebp - 0x154]
movsd xmm2, qword [edx]
xorps xmm2, xmmword [0x6817f0]
mulsd xmm2, qword [esi + eax*2]
movsd qword [esi + eax*2], xmm2
mov esi, dword [ebp - 0x110]
movsd xmm3, qword [edx]
xorps xmm3, xmmword [0x6817f0]
mulsd xmm3, qword [ecx + esi + 8]
movsd qword [ecx + esi + 8], xmm3
mov edi, dword [ebp - 0x14c]
movsd xmm4, qword [edx]
xorps xmm4, xmmword [0x6817f0]
mulsd xmm4, qword [edi + eax*2]
movsd qword [edi + eax*2], xmm4
movsd xmm5, qword [edx]
xorps xmm5, xmmword [0x6817f0]
mulsd xmm5, qword [ecx + esi + 0x10]
movsd qword [ecx + esi + 0x10], xmm5
add ecx, 0x10
mov esi, dword [ebp - 0x144]
inc esi
add eax, dword [ebp - 0x118]
cmp esi, dword [ebp - 0x108]
jb 0x4d3ee4
mov edx, dword [ebp - 0x13c]
lea eax, [esi + esi + 1]
mov edi, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x168]
lea esi, [eax - 1]
cmp esi, dword [ebp - 0x130]
jae 0x4d3fdc
add edx, eax
mov esi, ecx
mov eax, dword [ebp - 0x118]
imul eax, edx
movsd xmm2, qword [edi + ecx]
xorps xmm2, xmmword [0x6817f0]
sub esi, dword [ebp - 0x16c]
mulsd xmm2, qword [eax + esi]
movsd qword [eax + esi], xmm2
movsd xmm3, qword [edi + ecx]
mov ecx, dword [ebp - 0x100]
xorps xmm3, xmmword [0x6817f0]
mulsd xmm3, qword [ecx + edx*8]
movsd qword [ecx + edx*8], xmm3
mov eax, dword [ebp - 0x140]
inc eax
mov dword [ebp - 0x140], eax
cmp eax, dword [ebp - 0xc]
jle 0x4d3969
xor eax, eax
mov edx, 8
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xb0], eax
movzx eax, byte [0x6c81ad]
and eax, 1
shl eax, 0x15
mov ecx, dword [0x6c81b8]
add eax, 0x40000
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x98], ecx
lea ecx, [ebp - 0xb0]
push eax
push ecx
mov esi, dword [0x6c81c4]
mov edi, dword [ecx - 0x68]
mov dword [ecx + 4], edx
mov dword [ecx + 0x1c], edx
mov edx, 1
push 0x6c81a0
mov dword [ecx + 0x10], 2
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x28], edi
mov dword [ecx + 0x2c], edx
mov dword [ecx + 0x24], esi
mov dword [ecx + 0xc], edx
call fcn.005d7540
add esp, 0xc
mov edx, dword [0x6c81cc]
test esi, esi
jle 0x4d41f8
mov edi, dword [0x6c81c8]
xor ecx, ecx
imul edx, edi
mov dword [ebp - 0x160], edi
mov edi, dword [0x6c81c0]
mov eax, dword [0x6c81a0]
shl edi, 3
mov dword [ebp - 0x15c], eax
sub eax, edi
sub edi, edx
add eax, edi
mov dword [ebp - 0x16c], esi
add eax, edx
mov dword [ebp - 0x170], eax
xor eax, eax
mov dword [ebp - 0x164], ecx
mov esi, dword [ebp - 0x178]
test esi, esi
jle 0x4d41c6
cmp esi, 8
jl 0x4d5b74
mov edx, dword [ebp - 0x15c]
lea ecx, [edx + eax]
and ecx, 0xf
je 0x4d40ea
test cl, 7
jne 0x4d5b74
mov ecx, 1
lea edx, [ecx + 8]
cmp esi, edx
jl 0x4d5b74
mov edi, esi
sub edi, ecx
mov edx, dword [ebp - 0x15c]
and edi, 7
neg edi
add edi, esi
add edx, eax
mov dword [ebp - 0x168], edx
test ecx, ecx
jbe 0x4d413f
mov dword [ebp - 0x174], 0
mov esi, dword [ebp - 0x174]
movsd xmm0, qword [edx]
inc esi
xorps xmm0, xmmword [0x6817f0]
movsd qword [edx], xmm0
add edx, 8
cmp esi, ecx
jb 0x4d4122
mov esi, dword [ebp - 0x178]
mov edx, dword [ebp - 0x170]
mov esi, dword [ebp - 0x168]
add edx, eax
nop dword [eax]
movups xmm0, xmmword [esi + ecx*8]
xorps xmm0, xmmword [0x681770]
movups xmmword [esi + ecx*8], xmm0
movups xmm1, xmmword [edx + ecx*8 + 0x10]
movups xmm2, xmmword [edx + ecx*8 + 0x20]
movups xmm3, xmmword [edx + ecx*8 + 0x30]
xorps xmm1, xmmword [0x681770]
xorps xmm2, xmmword [0x681770]
xorps xmm3, xmmword [0x681770]
movups xmmword [edx + ecx*8 + 0x10], xmm1
movups xmmword [edx + ecx*8 + 0x20], xmm2
movups xmmword [edx + ecx*8 + 0x30], xmm3
add ecx, 8
cmp ecx, edi
jb 0x4d4150
mov esi, dword [ebp - 0x178]
cmp edi, esi
jae 0x4d41c6
mov edx, dword [ebp - 0x15c]
lea ecx, [edx + eax]
lea edx, [ecx + edi*8]
movsd xmm0, qword [edx]
inc edi
xorps xmm0, xmmword [0x6817f0]
movsd qword [edx], xmm0
add edx, 8
cmp edi, esi
jb 0x4d41af
mov edx, dword [ebp - 0x164]
inc edx
add eax, dword [ebp - 0x160]
mov dword [ebp - 0x164], edx
cmp edx, dword [ebp - 0x16c]
jb 0x4d40bd
jmp 0x4d41f8
mov edi, dword [ebp - 0x12c]
and edi, 1
test edi, edi
jne 0x4d5cec
mov eax, dword [0x6c6070]
lea esi, [ebp - 0x44]
shl eax, 2
neg eax
add eax, dword [0x6c6050]
mov ecx, dword [ebp - 0x7c]
push 0x6e3418
push esi
mov eax, dword [eax + ecx]
cdq
xor eax, edx
sub eax, edx
mov dword [esi], eax
call fcn.004498f0
add esp, 8
mov eax, dword [0x6c81cc]
mov dword [ebp - 0x178], eax
cmp dword [ebp - 0xc], 0
jle 0x4d4710
mov ecx, dword [0x6c81c8]
mov esi, eax
imul esi, ecx
mov eax, dword [0x6e3434]
mov dword [ebp - 0x7c], eax
mov edi, dword [0x6c5fd0]
mov eax, dword [0x6c81c0]
shl eax, 3
mov dword [ebp - 0x60], edi
mov edi, dword [0x6c81a0]
sub edi, eax
sub edi, esi
mov dword [ebp - 0x174], edi
mov edi, dword [0x6c5f1c]
neg edi
mov esi, dword [ebp - 0x48]
add edi, esi
imul edi, dword [0x6c5f18]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [0x6c5f10]
shl ecx, 2
mov eax, dword [0x6c5ef0]
sub eax, ecx
mov ecx, dword [0x6c5eec]
add edi, eax
neg ecx
add ecx, esi
imul ecx, dword [0x6c5ee8]
mov eax, dword [0x6c5ee0]
shl eax, 2
mov dword [ebp - 0x20], edi
mov edi, dword [0x6c5ec0]
mov edx, dword [0x6e3440]
sub edi, eax
mov eax, dword [0x6e3444]
add ecx, edi
imul eax, edx
mov edi, dword [0x6e3438]
imul edi, dword [0x6e3434]
mov dword [ebp - 0x80], edx
mov edx, dword [0x6e3418]
sub edx, eax
mov eax, dword [0x6c5fe0]
sub edx, edi
neg eax
add eax, esi
mov esi, dword [0x6c5fd4]
imul esi, dword [0x6c5fd0]
imul eax, dword [0x6c5fdc]
mov edi, dword [0x6c5fc8]
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x34], edx
lea esi, [esi + edi*8]
mov edi, dword [0x6c5fa8]
sub edi, esi
add eax, edi
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov edi, dword [eax + ecx*4]
mov esi, dword [edx + ecx*4]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], esi
test edi, edi
jne 0x4d439b
mov edx, dword [ebp - 0x80]
mov esi, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x174]
lea edi, [edx + esi]
mov edx, dword [ebp - 0x78]
imul edi, dword [ebp - 0x18]
lea eax, [eax + ecx*8]
mov esi, dword [ebp - 0x5c]
imul esi, ecx
mov dword [ebp - 0x64], edi
lea edi, [edx + ecx*8]
mov edx, dword [ebp - 0x60]
imul edx, ecx
movsd xmm0, qword [eax + esi]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x68], esi
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x18], 0
subsd xmm0, qword [edi + edx]
addsd xmm0, qword [eax + esi]
movsd qword [eax + esi], xmm0
je 0x4d43c8
jmp 0x4d847d
mov eax, dword [ebp - 0x174]
mov esi, dword [ebp - 0x78]
lea edx, [eax + ecx*8]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x5c]
lea edi, [esi + ecx*8]
mov edx, dword [ebp - 0x60]
imul eax, ecx
imul edx, ecx
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x18], 0
jne 0x4d4428
mov esi, dword [ebp - 0x80]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x7c]
imul esi, edx
imul edi, edx
mov dword [ebp - 0x74], esi
lea eax, [esi + edi]
mov dword [ebp - 0x6c], edi
mov esi, dword [ebp - 0x58]
mov edi, dword [ebp - 0x68]
movsd xmm0, qword [esi + edi]
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x70]
subsd xmm0, qword [esi + edi]
mov esi, dword [ebp - 0x34]
addsd xmm0, qword [eax + esi]
movsd qword [eax + esi], xmm0
test edx, edx
je 0x4d44a2
cmp dword [ebp - 0x18], 0
je 0x4d8459
mov eax, edx
mov edx, dword [ebp - 0x7c]
imul edx, eax
mov esi, dword [ebp - 0x80]
imul esi, eax
mov dword [ebp - 0x28], edx
jmp 0x4d4440
mov esi, dword [ebp - 0x80]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x7c]
imul esi, eax
imul edx, eax
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x18]
imul ecx, edx
mov dword [ebp - 0x3c], esi
mov esi, dword [ebp - 0x58]
mov edi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x38], ecx
add eax, ecx
movsd xmm1, qword [esi + edi]
mov ecx, dword [ebp - 0x54]
movaps xmm0, xmm1
mov esi, dword [ebp - 0x70]
mov edi, dword [ebp - 0x34]
subsd xmm0, qword [ecx + esi]
subsd xmm1, qword [ecx + esi]
addsd xmm0, qword [eax + edi]
movsd qword [eax + edi], xmm0
mov eax, dword [ebp - 0x7c]
imul eax, edx
mov edx, dword [ebp - 0x74]
add edx, eax
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
addsd xmm1, qword [edx + edi]
movsd qword [edx + edi], xmm1
mov edi, dword [ebp - 0x38]
jmp 0x4d44c2
mov eax, dword [ebp - 0x7c]
mov edx, eax
mov edi, dword [ebp - 0x1c]
imul edx, edi
mov esi, dword [ebp - 0x80]
mov dword [ebp - 0x28], edx
imul esi, edi
mov edi, dword [ebp - 0x80]
mov edx, dword [ebp - 0x18]
imul edi, edx
imul eax, edx
mov edx, dword [ebp - 0x34]
add edi, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x38], edi
lea ecx, [eax + edx]
mov eax, dword [ebp - 0x28]
add esi, eax
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x3c], esi
add edx, eax
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x14]
je 0x4d46f2
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x1c], 0
mov edi, dword [edi + eax*4]
mov esi, dword [edx + eax*4]
je 0x4d460e
test edi, edi
je 0x4d4552
cmp edi, dword [ebp - 0x1c]
je 0x4d458a
mov ecx, dword [ebp - 0x80]
imul ecx, edi
mov dword [ebp - 0x50], edi
mov edi, dword [ebp - 0x5c]
imul edi, eax
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x4c], esi
mov esi, dword [ebp - 0x58]
movsd xmm0, qword [edx + ecx]
subsd xmm0, qword [esi + edi]
mov edi, dword [ebp - 0x60]
imul edi, eax
mov esi, dword [ebp - 0x54]
addsd xmm0, qword [esi + edi]
movsd qword [edx + ecx], xmm0
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x50]
jmp 0x4d458a
mov dword [ebp - 0x50], edi
mov edi, dword [ebp - 0x5c]
imul edi, eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x4c], esi
mov esi, dword [ebp - 0x58]
movsd xmm0, qword [ecx + edx]
subsd xmm0, qword [esi + edi]
mov edi, dword [ebp - 0x60]
imul edi, eax
mov esi, dword [ebp - 0x54]
addsd xmm0, qword [esi + edi]
movsd qword [ecx + edx], xmm0
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x50]
test esi, esi
je 0x4d45d6
cmp esi, dword [ebp - 0x1c]
je 0x4d460e
mov dword [ebp - 0x4c], esi
mov ecx, dword [ebp - 0x80]
imul ecx, esi
mov esi, dword [ebp - 0x5c]
imul esi, eax
mov edx, dword [ebp - 0x60]
imul edx, eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x50], edi
mov edi, dword [ebp - 0x54]
movsd xmm0, qword [eax + esi]
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x4c]
subsd xmm0, qword [edi + edx]
mov edi, dword [ebp - 0x50]
addsd xmm0, qword [eax + ecx]
movsd qword [eax + ecx], xmm0
mov eax, dword [ebp - 0x30]
jmp 0x4d460e
mov dword [ebp - 0x50], edi
mov edi, dword [ebp - 0x5c]
imul edi, eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x4c], esi
mov esi, dword [ebp - 0x58]
movsd xmm0, qword [ecx + edx]
addsd xmm0, qword [esi + edi]
mov edi, dword [ebp - 0x60]
imul edi, eax
mov esi, dword [ebp - 0x54]
subsd xmm0, qword [esi + edi]
movsd qword [ecx + edx], xmm0
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x50]
cmp dword [ebp - 0x18], 0
je 0x4d46f2
test edi, edi
je 0x4d465c
cmp edi, dword [ebp - 0x18]
je 0x4d468e
mov ecx, dword [ebp - 0x5c]
imul ecx, eax
imul edi, dword [ebp - 0x80]
mov edx, dword [ebp - 0x60]
imul edx, eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x4c], esi
mov esi, dword [ebp - 0x54]
movsd xmm0, qword [eax + ecx]
mov eax, dword [ebp - 0x2c]
subsd xmm0, qword [esi + edx]
mov esi, dword [ebp - 0x4c]
addsd xmm0, qword [edi + eax]
movsd qword [edi + eax], xmm0
mov eax, dword [ebp - 0x30]
jmp 0x4d468e
mov edi, dword [ebp - 0x5c]
imul edi, eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x4c], esi
mov esi, dword [ebp - 0x58]
movsd xmm0, qword [ecx + edx]
addsd xmm0, qword [esi + edi]
mov edi, dword [ebp - 0x60]
imul edi, eax
mov esi, dword [ebp - 0x54]
subsd xmm0, qword [esi + edi]
movsd qword [ecx + edx], xmm0
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x4d46c6
cmp esi, dword [ebp - 0x18]
je 0x4d46f2
imul esi, dword [ebp - 0x80]
mov edi, dword [ebp - 0x5c]
imul edi, eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x58]
movsd xmm0, qword [esi + edx]
subsd xmm0, qword [ecx + edi]
mov edi, dword [ebp - 0x60]
imul edi, eax
mov ecx, dword [ebp - 0x54]
addsd xmm0, qword [ecx + edi]
movsd qword [esi + edx], xmm0
jmp 0x4d46f2
mov edi, dword [ebp - 0x5c]
imul edi, eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x58]
movsd xmm0, qword [ecx + edx]
subsd xmm0, qword [esi + edi]
mov edi, dword [ebp - 0x60]
imul edi, eax
mov esi, dword [ebp - 0x54]
addsd xmm0, qword [esi + edi]
movsd qword [ecx + edx], xmm0
inc eax
cmp eax, dword [ebp - 0xc]
jle 0x4d44ed
nop dword [eax]
mov ecx, dword [ebp - 0x14]
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x4d4329
mov esi, dword [0x6c81b8]
mov edi, dword [0x6c8284]
mov dword [ebp - 0x174], esp
lea eax, [esi*8]
imul eax, edi
add eax, 0xf
and eax, 0xfffffff0
call fcn.0063fc60
mov eax, esp
mov dword [ebp - 0x2c], eax
test edi, edi
jle 0x4d476a
test esi, esi
jle 0x4d476a
mov eax, edi
imul eax, esi
cmp eax, 0xc
jle 0x4d5c9c
lea eax, [edi*8]
imul eax, esi
push eax
push 0
push dword [ebp - 0x2c]
call fcn.0062a5e0
add esp, 0xc
mov edx, dword [0x6c81c4]
lea eax, [esi*8]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x30], eax
test edx, edx
jle 0x4d49ed
mov dword [ebp - 0x1c], edi
mov edi, dword [0x6c8260]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x80], edi
mov esi, dword [0x6c81c8]
mov edi, dword [ebp - 0x178]
imul edi, esi
mov edx, dword [0x6c81c0]
mov ecx, dword [0x6c81a0]
shl edx, 3
mov dword [ebp - 0x78], ecx
sub ecx, edx
sub edx, edi
mov eax, dword [0x6c8288]
add ecx, edx
mov dword [ebp - 0x4c], eax
xor eax, eax
mov dword [ebp - 0x74], eax
add ecx, edi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x7c], ecx
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
mov ecx, eax
cmp dword [ebp - 0x1c], 0
jle 0x4d49da
mov edi, dword [ebp - 0x78]
mov edx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x80]
mov dword [ebp - 0x74], ecx
add edi, eax
mov dword [ebp - 0x38], edi
add edx, eax
mov edi, dword [ebp - 0x2c]
lea esi, [esi + ecx*8]
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x178], eax
mov ecx, edi
mov edx, dword [ebp - 0x20]
test edx, edx
jle 0x4d49bb
cmp edx, 8
jl 0x4d5c95
mov edi, ecx
mov eax, 1
and edi, 0xf
cmovne edi, eax
mov dword [ebp - 0x54], edi
lea eax, [edi + 8]
cmp edx, eax
jl 0x4d5c95
mov eax, edx
sub eax, edi
and eax, 7
neg eax
add eax, edx
test edi, edi
jbe 0x4d487a
mov dword [ebp - 0x68], eax
xor edi, edi
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x38]
movsd xmm0, qword [esi]
mulsd xmm0, qword [edx + edi*8]
addsd xmm0, qword [ecx + edi*8]
movsd qword [ecx + edi*8], xmm0
inc edi
cmp edi, eax
jb 0x4d4859
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x54]
lea edi, [ecx + eax*8]
mov dword [ebp - 0x60], edi
mov edi, dword [ebp - 0x3c]
lea eax, [edi + eax*8]
test al, 0xf
mov eax, dword [ebp - 0x68]
je 0x4d48ff
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x54]
nop dword [eax]
mov edi, dword [ebp - 0x38]
movsd xmm4, qword [esi]
unpcklpd xmm4, xmm4
movups xmm0, xmmword [edi + edx*8]
mov edi, dword [ebp - 0x3c]
mulpd xmm0, xmm4
movups xmm1, xmmword [edi + edx*8 + 0x10]
movups xmm2, xmmword [edi + edx*8 + 0x20]
movups xmm3, xmmword [edi + edx*8 + 0x30]
mulpd xmm1, xmm4
mulpd xmm2, xmm4
mulpd xmm4, xmm3
addpd xmm0, xmmword [ecx]
addpd xmm1, xmmword [ecx + 0x10]
addpd xmm2, xmmword [ecx + 0x20]
addpd xmm4, xmmword [ecx + 0x30]
add edx, 8
movups xmmword [ecx], xmm0
movups xmmword [ecx + 0x10], xmm1
movups xmmword [ecx + 0x20], xmm2
movups xmmword [ecx + 0x30], xmm4
add ecx, 0x40
cmp edx, eax
jb 0x4d48a0
jmp 0x4d496a
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x54]
nop dword [eax + eax]
movsd xmm3, qword [esi]
mov edi, dword [ebp - 0x38]
unpcklpd xmm3, xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
mulpd xmm0, xmmword [edi + edx*8]
mov edi, dword [ebp - 0x3c]
movaps xmm2, xmm3
addpd xmm0, xmmword [ecx]
mulpd xmm1, xmmword [edi + edx*8 + 0x10]
mulpd xmm2, xmmword [edi + edx*8 + 0x20]
mulpd xmm3, xmmword [edi + edx*8 + 0x30]
addpd xmm1, xmmword [ecx + 0x10]
addpd xmm2, xmmword [ecx + 0x20]
addpd xmm3, xmmword [ecx + 0x30]
add edx, 8
movups xmmword [ecx], xmm0
movups xmmword [ecx + 0x10], xmm1
movups xmmword [ecx + 0x20], xmm2
movups xmmword [ecx + 0x30], xmm3
add ecx, 0x40
cmp edx, eax
jb 0x4d4910
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x20]
lea edi, [eax + 1]
cmp edi, edx
ja 0x4d49bb
mov edi, edx
sub edi, eax
mov dword [ebp - 0x50], edi
lea edi, [ecx + eax*8]
mov dword [ebp - 0x5c], edi
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x5c]
lea eax, [edi + eax*8]
mov ecx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x50]
movsd xmm0, qword [esi]
mulsd xmm0, qword [eax + ecx*8]
addsd xmm0, qword [edx + ecx*8]
movsd qword [edx + ecx*8], xmm0
inc ecx
cmp ecx, edi
jb 0x4d499d
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x40]
lea ecx, [ecx + edx*8]
inc eax
add esi, dword [ebp - 0x4c]
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x1c]
jb 0x4d4813
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x74]
inc ecx
add eax, dword [ebp - 0x70]
cmp ecx, dword [ebp - 0x6c]
jb 0x4d47d8
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
xor eax, eax
mov edx, 8
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x80], eax
movzx eax, byte [0x6c823d]
and eax, 1
shl eax, 0x15
mov ecx, dword [ebp - 0x30]
add eax, 0x40000
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0x80]
push eax
push ecx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x64], edx
mov edx, 1
push 0x6c8230
mov dword [ebp - 0x70], 2
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x74], edx
call fcn.005d7540
add esp, 0xc
mov eax, dword [0x6c825c]
mov dword [ebp - 0x3c], eax
test edi, edi
jle 0x4d4bd2
mov dword [ebp - 0x1c], edi
mov edx, dword [0x6c8258]
mov edi, eax
imul edi, edx
mov eax, dword [0x6c8250]
mov ecx, dword [0x6c8230]
shl eax, 3
mov dword [ebp - 0x28], ecx
sub ecx, eax
sub eax, edi
mov dword [ebp - 0x24], 0
add ecx, eax
mov dword [ebp - 0x40], edx
lea edx, [esi*8]
mov eax, dword [ebp - 0x24]
add ecx, edi
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x38], edx
test esi, esi
jle 0x4d4bb9
cmp esi, 0xc
jle 0x4d4aec
mov dword [ebp - 0x20], esi
mov edi, dword [ebp - 0x50]
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x40]
imul ecx, esi
mov eax, dword [ebp - 0x2c]
push dword [ebp - 0x38]
add ecx, dword [ebp - 0x4c]
lea edx, [eax + edi]
push edx
push ecx
call fcn.0062a530
add esp, 0xc
mov eax, dword [ebp - 0x20]
inc esi
lea edi, [edi + eax*8]
cmp esi, dword [ebp - 0x1c]
jae 0x4d4bd2
cmp dword [ebp - 0x20], 0xc
jg 0x4d4ab2
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x50], edi
mov esi, eax
cmp esi, 2
jl 0x4d5c8e
mov edx, dword [ebp - 0x40]
imul edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
lea edi, [eax + edx]
and edi, 0xf
je 0x4d4b18
test edi, 7
jne 0x4d5c8e
mov edi, 1
lea eax, [edi + 2]
cmp esi, eax
jl 0x4d5c8e
mov ecx, dword [ebp - 0x30]
mov eax, esi
imul ecx, dword [ebp - 0x24]
sub eax, edi
and eax, 1
neg eax
add ecx, dword [ebp - 0x2c]
add eax, esi
add edx, dword [ebp - 0x28]
test edi, edi
jbe 0x4d4b5e
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x34]
movsd xmm0, qword [ecx + esi*8]
movsd qword [edx + esi*8], xmm0
inc esi
cmp esi, edi
jb 0x4d4b4c
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x178], eax
lea eax, [ecx + edi*8]
test al, 0xf
mov eax, dword [ebp - 0x178]
je 0x4d4b82
movups xmm0, xmmword [ecx + edi*8]
movups xmmword [edx + edi*8], xmm0
add edi, 2
cmp edi, eax
jb 0x4d4b71
jmp 0x4d4b91
movups xmm0, xmmword [ecx + edi*8]
movups xmmword [edx + edi*8], xmm0
add edi, 2
cmp edi, eax
jb 0x4d4b82
cmp eax, esi
jae 0x4d4bb9
mov ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x40]
imul ecx, edi
imul edx, edi
add ecx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x28]
movsd xmm0, qword [ecx + eax*8]
movsd qword [edx + eax*8], xmm0
inc eax
cmp eax, esi
jb 0x4d4baa
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
lea edx, [eax + esi*8]
mov dword [ebp - 0x50], edx
cmp ecx, dword [ebp - 0x1c]
jb 0x4d4a9c
mov eax, dword [ebp - 0x174]
mov esp, eax
mov eax, dword [0x6c6014]
mov edx, dword [0x6c600c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x24], edx
test edx, edx
jle 0x4d4ed4
mov ecx, dword [0x6c8250]
mov esi, dword [0x6c8230]
shl ecx, 3
mov dword [ebp - 0x28], esi
sub esi, ecx
mov dword [ebp - 0x178], esi
mov esi, dword [0x6c601c]
mov dword [ebp - 0x50], ecx
mov eax, dword [0x6c6008]
mov ecx, dword [ebp - 0x48]
imul ecx, esi
imul esi, dword [0x6c6020]
mov edi, dword [0x6c6000]
mov edx, dword [0x6c8258]
mov dword [ebp - 0x38], edi
lea edi, [eax*8]
mov dword [ebp - 0x20], edx
neg edi
mov dword [ebp - 0x4c], esi
lea eax, [ecx + eax*8]
mov edx, dword [0x6c6010]
mov esi, dword [ebp - 0x40]
imul esi, edx
add edi, dword [0x6c5fe8]
add edi, eax
mov eax, dword [ebp - 0x4c]
sub ecx, eax
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x2c], 0
lea edx, [eax + esi]
mov eax, dword [ebp - 0x178]
sub edi, edx
add esi, edi
mov edi, dword [0x6c5fe8]
mov dword [ebp - 0x174], esi
lea edx, [ecx + edi]
add edi, ecx
mov dword [ebp - 0x30], edi
mov edi, dword [ebp - 0x3c]
imul edi, dword [0x6c8258]
mov ecx, dword [ebp - 0x50]
sub ecx, edi
add eax, ecx
add eax, edi
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x38]
test edx, edx
jle 0x4d4eca
cmp edx, 8
jl 0x4d5c87
mov esi, dword [ebp - 0x34]
imul esi, ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x4c], esi
add esi, eax
and esi, 0xf
je 0x4d4ce4
test esi, 7
jne 0x4d5c87
mov esi, 1
lea eax, [esi + 8]
cmp edx, eax
jl 0x4d5c87
mov edi, edx
sub edi, esi
and edi, 7
neg edi
add edi, edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x10], edi
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x1c]
imul eax, ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x3c], eax
add ecx, edi
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x28]
add eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x2c]
test esi, esi
jbe 0x4d4d60
mov dword [ebp - 0x50], 0
movsd xmm0, qword [0x681810]
mov dword [ebp - 0x2c], ecx
xorps xmm0, xmmword [0x6817f0]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
movaps xmm1, xmm0
mulsd xmm1, qword [ecx + edx*8]
movsd qword [edi + edx*8], xmm1
inc edx
cmp edx, esi
jb 0x4d4d48
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x3c]
add edi, dword [ebp - 0x178]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x174]
mov dword [ebp - 0x4c], eax
lea eax, [edi + esi*8]
mov dword [ebp - 0x3c], edi
test al, 0xf
mov eax, dword [ebp - 0x10]
je 0x4d4e0f
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x4c]
mov edx, edi
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
nop word [eax + eax]
movups xmm0, xmmword [ecx + esi*8]
movups xmm1, xmmword [edx + esi*8 + 0x10]
movups xmm2, xmmword [edx + esi*8 + 0x20]
movups xmm3, xmmword [edx + esi*8 + 0x30]
mulpd xmm0, xmmword [0x681780]
mulpd xmm1, xmmword [0x681780]
mulpd xmm2, xmmword [0x681780]
mulpd xmm3, xmmword [0x681780]
xorps xmm0, xmmword [0x681770]
xorps xmm1, xmmword [0x681770]
xorps xmm2, xmmword [0x681770]
xorps xmm3, xmmword [0x681770]
movups xmmword [edi + esi*8], xmm0
movups xmmword [eax + esi*8 + 0x10], xmm1
movups xmmword [eax + esi*8 + 0x20], xmm2
movups xmmword [eax + esi*8 + 0x30], xmm3
add esi, 8
cmp esi, dword [ebp - 0x10]
jb 0x4d4da0
jmp 0x4d4e8a
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x2c], ecx
movups xmm0, xmmword [0x681780]
mov eax, dword [ebp - 0x4c]
mov edx, edi
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
nop word [eax + eax]
movaps xmm1, xmm0
movaps xmm2, xmm0
movaps xmm3, xmm0
movaps xmm4, xmm0
mulpd xmm1, xmmword [ecx + esi*8]
mulpd xmm2, xmmword [edx + esi*8 + 0x10]
mulpd xmm3, xmmword [edx + esi*8 + 0x20]
mulpd xmm4, xmmword [edx + esi*8 + 0x30]
xorps xmm1, xmmword [0x681770]
xorps xmm2, xmmword [0x681770]
xorps xmm3, xmmword [0x681770]
xorps xmm4, xmmword [0x681770]
movups xmmword [edi + esi*8], xmm1
movups xmmword [eax + esi*8 + 0x10], xmm2
movups xmmword [eax + esi*8 + 0x20], xmm3
movups xmmword [eax + esi*8 + 0x30], xmm4
add esi, 8
cmp esi, dword [ebp - 0x10]
jb 0x4d4e30
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x38]
cmp eax, edx
jae 0x4d4eca
mov edi, dword [ebp - 0x34]
mov esi, dword [ebp - 0x20]
imul edi, ecx
imul esi, ecx
movsd xmm0, qword [0x681810]
xorps xmm0, xmmword [0x6817f0]
add edi, dword [ebp - 0x1c]
add esi, dword [ebp - 0x28]
movaps xmm1, xmm0
mulsd xmm1, qword [esi + eax*8]
movsd qword [edi + eax*8], xmm1
inc eax
cmp eax, edx
jb 0x4d4eb8
inc ecx
cmp ecx, dword [ebp - 0x24]
jb 0x4d4caf
cmp dword [ebp - 0xc], 0
jle 0x4d507f
mov ecx, dword [0x6c6008]
mov eax, dword [0x6c5fe8]
mov edx, dword [0x6c601c]
mov edi, dword [0x6c6010]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x174], eax
mov ecx, dword [0x6c6020]
mov dword [ebp - 0x178], edx
cmp edi, 0xfffffff8
je 0x4d5c7b
cmp dword [ebp - 0xc], 8
jl 0x4d5c7b
mov eax, dword [ebp - 0x50]
xor esi, esi
mov edx, dword [ebp - 0xc]
and edx, 0xfffffff8
mov dword [ebp - 0x34], edx
shl eax, 3
mov dword [ebp - 0x4c], ecx
neg eax
mov edx, dword [ebp - 0x48]
sub edx, ecx
mov ecx, dword [ebp - 0x40]
imul ecx, edi
imul edx, dword [ebp - 0x178]
add eax, dword [ebp - 0x174]
sub eax, ecx
add edx, eax
lea eax, [edi + edi*2]
add eax, edx
mov dword [ebp - 0x30], eax
mov eax, esi
lea ecx, [edi + edx]
mov dword [ebp - 0x3c], ecx
lea ecx, [edi + edi*4]
add ecx, edx
mov dword [ebp - 0x38], ecx
lea ecx, [edi*8]
sub ecx, edi
add edx, ecx
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x3c]
lea ecx, [edx + eax*8 + 8]
mov edx, dword [ebp - 0x30]
add ecx, esi
lea edx, [edx + eax*8]
movsd xmm0, qword [ecx]
movhpd xmm0, qword [ecx + edi + 8]
addpd xmm0, xmmword [0x681760]
movsd qword [ecx], xmm0
movhpd qword [edi + ecx + 8], xmm0
lea ecx, [esi + edx + 0x18]
movsd xmm1, qword [ecx]
movhpd xmm1, qword [ecx + edi + 8]
lea ecx, [edx + esi + 0x18]
addpd xmm1, xmmword [0x681760]
mov edx, dword [ebp - 0x38]
movsd qword [ecx], xmm1
movhpd qword [edi + ecx + 8], xmm1
lea edx, [edx + eax*8]
lea ecx, [esi + edx + 0x28]
movsd xmm2, qword [ecx]
movhpd xmm2, qword [ecx + edi + 8]
lea ecx, [edx + esi + 0x28]
addpd xmm2, xmmword [0x681760]
mov edx, dword [ebp - 0x2c]
movsd qword [ecx], xmm2
movhpd qword [edi + ecx + 8], xmm2
lea edx, [edx + eax*8]
add eax, 8
lea ecx, [esi + edx + 0x38]
movsd xmm3, qword [ecx]
movhpd xmm3, qword [ecx + edi + 8]
lea ecx, [edx + esi + 0x38]
addpd xmm3, xmmword [0x681760]
movsd qword [ecx], xmm3
lea esi, [esi + edi*8]
movhpd qword [edi + ecx + 8], xmm3
cmp eax, dword [ebp - 0x34]
jb 0x4d4f75
mov ecx, dword [ebp - 0x4c]
mov edx, edi
mov eax, dword [ebp - 0x34]
imul edx, eax
cmp eax, dword [ebp - 0xc]
jae 0x4d507f
mov esi, dword [ebp - 0x50]
neg ecx
shl esi, 3
mov eax, dword [ebp - 0x174]
sub eax, esi
mov esi, dword [ebp - 0x40]
imul esi, edi
add ecx, dword [ebp - 0x48]
sub eax, esi
imul ecx, dword [ebp - 0x178]
add eax, edi
mov esi, dword [ebp - 0x34]
add ecx, eax
lea eax, [ecx + esi*8]
inc esi
movsd xmm0, qword [eax + edx + 8]
addsd xmm0, qword [0x681878]
movsd qword [eax + edx + 8], xmm0
add edx, edi
cmp esi, dword [ebp - 0xc]
jb 0x4d5060
mov eax, dword [0x6c5fcc]
mov esi, dword [0x6c5fd4]
mov edx, dword [0x6c81cc]
mov dword [ebp - 0x4c], eax
test eax, eax
jle 0x4d5295
mov dword [ebp - 0x178], edx
mov eax, dword [0x6c81c8]
mov edx, dword [0x6c5fc0]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x174], edx
mov eax, dword [0x6c5fdc]
mov edx, dword [ebp - 0x48]
imul edx, eax
imul eax, dword [0x6c5fe0]
add edx, dword [0x6c5fa8]
mov edi, dword [0x6c81a0]
mov dword [ebp - 0x24], edi
mov edi, edx
mov ecx, dword [0x6c5fd0]
sub edi, eax
imul esi, ecx
mov dword [ebp - 0x30], edi
add eax, esi
mov edi, dword [0x6c5fc8]
sub edx, eax
mov dword [ebp - 0x40], ecx
mov eax, dword [0x6c81a0]
mov dword [ebp - 0x28], 0
lea ecx, [edi*8]
sub esi, ecx
mov ecx, dword [ebp - 0x178]
add edx, esi
imul ecx, dword [0x6c81c8]
mov esi, dword [0x6c81c0]
lea edx, [edx + edi*8]
shl esi, 3
sub eax, esi
sub esi, ecx
add eax, esi
mov esi, dword [0x6c5fc0]
add eax, ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x50], ecx
shl esi, 3
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x174]
test edx, edx
jle 0x4d527f
cmp edx, 0xc
jle 0x4d519a
mov edi, dword [ebp - 0x50]
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
imul ecx, esi
mov eax, dword [ebp - 0x38]
push dword [ebp - 0x3c]
add ecx, dword [ebp - 0x34]
lea edx, [eax + edi]
push edx
push ecx
call fcn.0062a530
add esp, 0xc
inc esi
add edi, dword [ebp - 0x2c]
cmp esi, dword [ebp - 0x4c]
jae 0x4d5295
cmp dword [ebp - 0x174], 0xc
jg 0x4d515c
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x28], esi
mov edx, dword [ebp - 0x174]
cmp edx, 2
jl 0x4d5c6f
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
add ecx, eax
and ecx, 0xf
je 0x4d51c2
test cl, 7
jne 0x4d5c6f
mov ecx, 1
lea esi, [ecx + 2]
cmp edx, esi
jl 0x4d5c6f
mov esi, edx
sub esi, ecx
and esi, 1
neg esi
add esi, edx
mov dword [ebp - 0x48], esi
mov esi, dword [ebp - 0x2c]
imul esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x24]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x20], esi
add edi, esi
mov dword [ebp - 0x1c], edi
test ecx, ecx
jbe 0x4d5213
mov dword [ebp - 0x178], 0
mov esi, dword [ebp - 0x178]
movsd xmm0, qword [edi + esi*8]
movsd qword [eax + esi*8], xmm0
inc esi
cmp esi, ecx
jb 0x4d5204
mov esi, dword [ebp - 0x20]
add esi, dword [ebp - 0x38]
lea edi, [esi + ecx*8]
test edi, 0xf
je 0x4d523b
mov esi, dword [ebp - 0x48]
mov edi, dword [ebp - 0x1c]
movups xmm0, xmmword [edi + ecx*8]
movups xmmword [eax + ecx*8], xmm0
add ecx, 2
cmp ecx, esi
jb 0x4d522a
jmp 0x4d5250
mov esi, dword [ebp - 0x48]
mov edi, dword [ebp - 0x1c]
movups xmm0, xmmword [edi + ecx*8]
movups xmmword [eax + ecx*8], xmm0
add ecx, 2
cmp ecx, esi
jb 0x4d5241
mov dword [ebp - 0x48], esi
cmp edx, dword [ebp - 0x48]
jbe 0x4d527f
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
imul ecx, esi
imul eax, esi
add ecx, dword [ebp - 0x30]
add eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x48]
movsd xmm0, qword [eax + esi*8]
movsd qword [ecx + esi*8], xmm0
inc esi
cmp esi, edx
jb 0x4d5270
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
inc ecx
add dword [ebp - 0x50], eax
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x4c]
jb 0x4d5149
lea esp, [ebp - 8]
pop edi
pop esi
pop ebp
mov esp, ebx
pop ebx
ret
mov dword [ebp - 0x6c], 0
jmp 0x4d1fb9
mov dword [ebp - 0x64], 0
jmp 0x4d23fa
xor ecx, ecx
jmp 0x4d2932
and dword [ebp - 0x124], 1
test byte [ebp - 0x174], 1
jne 0x4d2e2b
cmp dword [ebp - 0x124], 0
je 0x4d41e7
mov eax, dword [0x6c81c8]
mov dword [ebp - 0x118], eax
jmp 0x4d3ff2
mov dword [ebp - 0x104], 0
jmp 0x4d3786
cmp dword [ebp - 0x124], 0
jne 0x4d52df
jmp 0x4d41e7
mov edi, dword [ebp - 0x48]
mov edx, edi
mov ecx, dword [0x6c84d8]
imul edx, ecx
imul ecx, dword [0x6c84dc]
add edx, dword [0x6c84b0]
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x164], edx
sub edx, ecx
mov ecx, dword [0x6c8508]
imul edi, ecx
imul ecx, dword [0x6c850c]
mov dword [ebp - 0x140], esi
mov esi, dword [0x6c84d0]
mov eax, dword [0x6c8500]
add edi, dword [0x6c84e0]
mov dword [ebp - 0x170], esi
shl esi, 3
sub edx, esi
mov esi, edi
mov dword [ebp - 0x174], eax
shl eax, 3
sub esi, ecx
sub esi, eax
movsd xmm0, qword [edx + 8]
movaps xmm1, xmm0
mov dword [ebp - 0x15c], esi
divsd xmm1, qword [esi + 8]
mov esi, dword [ebp - 0x140]
neg esi
add esi, 0xb
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x168], 0
cmp esi, 2
jl 0x4d56ff
mov eax, dword [ebp - 0x178]
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0x16c], 2
mov dword [ebp - 0x140], esi
lea eax, [eax + edx*8]
mov edx, dword [ebp - 0x174]
sub dword [ebp - 0x164], eax
lea ecx, [ecx + edx*8]
mov edx, dword [ebp - 0x16c]
sub edi, ecx
mov ecx, 0xfffffffe
mov dword [ebp - 0x160], edi
mov eax, dword [ebp - 0x14c]
lea esi, [edx*8]
lea eax, [eax + edx*8]
movsd xmm0, qword [eax]
comisd xmm0, xmmword [0x681820]
jbe 0x4d56e0
mov edi, dword [ebp - 0x15c]
mov dword [ebp - 0x150], eax
lea eax, [edi + edx*8]
mov edi, dword [ebp - 0x160]
movsd xmm0, qword [eax]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x150]
lea edi, [edi + edx*8]
mov dword [ebp - 0x154], edi
subsd xmm0, qword [edi - 8]
comisd xmm0, xmmword [0x681820]
jbe 0x4d5480
mov edi, dword [ebp - 0x14c]
movsd xmm0, qword [edi + edx*8]
mov edi, dword [ebp - 0x164]
subsd xmm0, qword [edi + esi - 8]
mov esi, dword [ebp - 0x15c]
movsd xmm2, qword [esi + edx*8]
mov esi, dword [ebp - 0x154]
subsd xmm2, qword [esi - 8]
divsd xmm0, xmm2
jmp 0x4d5483
movaps xmm0, xmm1
movaps xmm2, xmm1
mulsd xmm2, qword [0x681840]
comisd xmm0, xmm2
jbe 0x4d56db
mov esi, dword [ebp - 0x140]
lea edi, [esi - 1]
mov dword [ebp - 0x170], edi
cmp edi, edx
jl 0x4d5688
lea edi, [esi + ecx]
mov dword [ebp - 0x148], edi
cmp edi, 2
jl 0x4d5751
mov esi, dword [ebp - 0x164]
lea edi, [esi + edx*8]
mov dword [ebp - 0x178], edi
and edi, 0xf
mov dword [ebp - 0x13c], edi
je 0x4d54f2
test byte [ebp - 0x13c], 7
jne 0x4d5751
mov dword [ebp - 0x13c], 1
mov esi, dword [ebp - 0x13c]
lea edi, [esi + 2]
cmp edi, dword [ebp - 0x148]
jg 0x4d5751
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x148]
mov esi, eax
mov edi, dword [ebp - 0x13c]
sub esi, edi
and esi, 1
neg esi
add esi, eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x144], esi
test edi, edi
jbe 0x4d557f
mov dword [ebp - 0x174], ecx
xor esi, esi
mov dword [ebp - 0x16c], edx
mov edx, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x154]
mov edi, dword [ebp - 0x158]
movsd xmm2, qword [edi + esi*8 + 8]
movsd xmm3, qword [eax + esi*8 + 8]
movsd qword [ecx + esi*8], xmm2
movsd qword [edx + esi*8], xmm3
inc esi
cmp esi, dword [ebp - 0x13c]
jb 0x4d5554
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x16c]
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x160]
add esi, edx
lea edi, [edi + esi*8]
test edi, 0xf
je 0x4d55db
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x16c], edx
mov edx, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x178]
mov esi, dword [ebp - 0x154]
mov edi, dword [ebp - 0x158]
movups xmm2, xmmword [edi + edx*8 + 8]
movups xmm3, xmmword [eax + edx*8 + 8]
movups xmmword [esi + edx*8], xmm2
movups xmmword [ecx + edx*8], xmm3
add edx, 2
cmp edx, dword [ebp - 0x144]
jb 0x4d55bc
jmp 0x4d561c
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x16c], edx
mov edx, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x178]
mov esi, dword [ebp - 0x154]
mov edi, dword [ebp - 0x158]
movups xmm2, xmmword [edi + edx*8 + 8]
movups xmm3, xmmword [eax + edx*8 + 8]
movups xmmword [esi + edx*8], xmm2
movups xmmword [ecx + edx*8], xmm3
add edx, 2
cmp edx, dword [ebp - 0x144]
jb 0x4d55ff
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x16c]
mov esi, dword [ebp - 0x144]
cmp esi, dword [ebp - 0x148]
jae 0x4d5688
mov esi, dword [ebp - 0x164]
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x16c], edx
mov ecx, dword [ebp - 0x154]
lea esi, [esi + edx*8]
mov edx, dword [ebp - 0x144]
mov edi, dword [ebp - 0x158]
movsd xmm2, qword [edi + edx*8 + 8]
movsd xmm3, qword [eax + edx*8 + 8]
movsd qword [ecx + edx*8], xmm2
movsd qword [esi + edx*8], xmm3
inc edx
cmp edx, dword [ebp - 0x148]
jb 0x4d565d
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x16c]
movaps xmm3, xmm1
inc ecx
mulsd xmm3, qword [0x681848]
pxor xmm2, xmm2
comisd xmm0, xmm3
mov eax, dword [ebp - 0x15c]
mov edi, dword [ebp - 0x140]
mov esi, dword [ebp - 0x14c]
movsd qword [eax + edi*8], xmm2
mov eax, 0xffffffff
movsd qword [esi + edi*8], xmm2
mov edi, dword [ebp - 0x170]
mov esi, dword [ebp - 0x168]
cmova esi, eax
dec edx
mov dword [ebp - 0x168], esi
mov dword [ebp - 0x140], edi
jmp 0x4d56e6
movaps xmm1, xmm0
jmp 0x4d56e6
mov dword [ebp - 0x140], edx
inc edx
dec ecx
cmp edx, dword [ebp - 0x140]
jle 0x4d53ee
mov eax, dword [ebp - 0x14c]
movsd xmm0, qword [eax + 8]
mov eax, dword [ebp - 0x15c]
mov ecx, dword [0x76e588]
sub ecx, dword [0x6c8648]
divsd xmm0, qword [eax + 8]
mov edx, dword [0x6c8628]
test byte [ebp - 0x168], 1
movsd qword [edx + ecx*8], xmm0
je 0x4d3221
push 0x3e
push str.BH_curve_has_unrealistic_data_points__Some_points_were_ignored
push 0x681658
push 0x76e2e8
push 0x76e2e0
call fcn.00541c60
add esp, 0x14
jmp 0x4d3221
mov dword [ebp - 0x144], 0
jmp 0x4d5628
mov edx, dword [ebp - 0x158]
sub edx, dword [ebp - 0x160]
pxor xmm1, xmm1
sub edx, dword [ebp - 0x164]
mov dword [ebp - 0x158], edx
movsd xmm2, qword [edx + 8]
comisd xmm2, xmm1
ja 0x4d5b38
mov edx, dword [ebp - 0x16c]
mov esi, 2
mov eax, dword [ebp - 0x168]
mov edi, dword [ebp - 0x170]
movsd qword [eax + edx], xmm0
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x48]
imul ecx, edx
pxor xmm1, xmm1
imul edx, edi
lea edi, [eax*8]
mov dword [ebp - 0x144], edi
lea edi, [esi*8]
mov dword [ebp - 0x148], edi
mov edi, dword [ebp - 0x134]
lea eax, [edx + eax*8]
lea edi, [edi + esi*8]
add edi, ecx
sub edi, eax
movsd xmm0, qword [edi]
comisd xmm0, xmm1
ja 0x4d5885
cmp esi, 0xa
je 0x4d5832
inc esi
cmp esi, 0xa
jg 0x4d5821
mov eax, dword [0x6c84e0]
mov dword [ebp - 0x134], eax
mov edi, dword [0x6c850c]
mov edx, dword [0x6c8508]
mov eax, dword [0x6c8500]
jmp 0x4d57b3
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x13c]
lea eax, [eax + edx*4]
jmp 0x4d320c
push 0x29
mov edx, dword [0x76e588]
push str.BH_curve_has_no_data__Saturation_disabled
sub edx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x13c]
push 0x681658
push 0x76e2e8
push 0x76e2e0
mov dword [eax + edx*4], 0
call fcn.00541c60
add esp, 0x14
mov eax, dword [0x6c8400]
mov edx, dword [0x6c8420]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], edx
jmp 0x4d57fd
mov dword [ebp - 0x130], edx
mov edx, dword [0x6c84b0]
pxor xmm1, xmm1
mov dword [ebp - 0x168], edx
mov edx, dword [0x6c84d0]
mov dword [ebp - 0x174], edi
mov edi, dword [0x6c84d8]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x48]
imul eax, edi
imul edi, dword [0x6c84dc]
mov dword [ebp - 0x170], ecx
lea ecx, [edx*8]
mov dword [ebp - 0x15c], ecx
mov ecx, dword [0x6c84b0]
mov dword [ebp - 0x160], edi
lea edi, [edi + edx*8]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x158], edi
lea edx, [ecx + esi*8]
add edx, eax
sub edx, edi
mov eax, dword [ebp - 0x174]
mov ecx, dword [0x6c8648]
shl ecx, 3
movsd xmm0, qword [edx]
neg ecx
divsd xmm0, qword [eax]
mov eax, dword [0x6c8628]
mov edx, dword [ebp - 0x48]
lea edi, [eax + edx*8]
mov eax, esi
neg eax
add eax, 0xb
mov dword [ebp - 0x178], eax
shr eax, 1
movsd qword [ecx + edi], xmm0
mov dword [ebp - 0x154], eax
test eax, eax
jbe 0x4d5b2e
mov edi, dword [ebp - 0x164]
xor edx, edx
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x140], esi
add ecx, edi
mov edi, dword [ebp - 0x170]
add eax, edi
mov edi, eax
sub edi, dword [ebp - 0x16c]
sub eax, dword [ebp - 0x130]
sub eax, dword [ebp - 0x144]
lea edi, [edi + esi*8]
mov dword [ebp - 0x150], edi
mov edi, ecx
sub edi, dword [ebp - 0x158]
lea eax, [eax + esi*8]
sub ecx, dword [ebp - 0x160]
lea edi, [edi + esi*8]
mov dword [ebp - 0x14c], edi
mov edi, dword [ebp - 0x15c]
sub edi, dword [ebp - 0x148]
sub ecx, edi
mov dword [ebp - 0x174], ecx
nop word [eax + eax]
mov edi, dword [ebp - 0x140]
mov esi, edx
neg edi
shl esi, 4
lea ecx, [edi + edx*2]
mov edi, dword [ebp - 0x150]
inc edx
movsd xmm0, qword [edi + esi]
mov edi, dword [ebp - 0x14c]
movsd qword [eax + ecx*8 + 8], xmm0
movsd xmm3, qword [eax + esi + 8]
movsd xmm2, qword [edi + esi]
mov edi, dword [ebp - 0x174]
movsd qword [eax + ecx*8 + 0x10], xmm3
movsd qword [edi + ecx*8 + 8], xmm2
movsd xmm4, qword [edi + esi + 8]
movsd qword [edi + ecx*8 + 0x10], xmm4
cmp edx, dword [ebp - 0x154]
jb 0x4d59b0
mov esi, dword [ebp - 0x140]
lea eax, [edx + edx + 1]
mov edx, dword [ebp - 0x130]
lea edi, [eax - 1]
mov ecx, dword [ebp - 0x134]
neg edx
sub ecx, dword [ebp - 0x148]
add edx, dword [ebp - 0x170]
add ecx, edx
sub ecx, dword [ebp - 0x144]
mov dword [ebp - 0x154], ecx
cmp edi, dword [ebp - 0x178]
jae 0x4d5ae0
mov edx, dword [ebp - 0x134]
lea ecx, [esi + eax]
add edx, dword [ebp - 0x170]
sub edx, dword [ebp - 0x16c]
mov edi, dword [ebp - 0x154]
mov dword [ebp - 0x140], esi
movsd xmm0, qword [edx + ecx*8 - 8]
mov dword [ebp - 0x178], eax
lea esi, [edi + esi*8]
movsd qword [esi + eax*8], xmm0
mov esi, dword [ebp - 0x168]
mov edi, esi
mov eax, dword [ebp - 0x148]
sub edi, eax
mov edx, dword [ebp - 0x160]
neg eax
neg edx
mov dword [ebp - 0x174], ecx
mov ecx, dword [ebp - 0x164]
add edx, ecx
add eax, dword [ebp - 0x15c]
add esi, ecx
add edi, edx
neg eax
sub esi, dword [ebp - 0x158]
add eax, edi
mov edx, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x178]
mov dword [ebp - 0x150], edi
movsd xmm2, qword [esi + edx*8 - 8]
movsd qword [eax + ecx*8], xmm2
mov esi, dword [ebp - 0x140]
jmp 0x4d5b01
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x164]
sub eax, dword [ebp - 0x148]
sub edx, dword [ebp - 0x160]
lea ecx, [eax + edx]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x154]
sub edx, dword [ebp - 0x15c]
mov edi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x13c]
movsd qword [eax + 0x60], xmm1
movsd qword [edx + 0x60], xmm1
lea eax, [ecx + edi*4]
jmp 0x4d320c
mov eax, 1
jmp 0x4d5a13
sub ecx, edi
sub ecx, dword [ebp - 0x174]
mov esi, dword [ebp - 0x16c]
movsd xmm0, qword [ecx + 8]
divsd xmm0, qword [edx + 8]
mov ecx, dword [ebp - 0x168]
movsd qword [ecx + esi], xmm0
mov esi, 1
jmp 0x4d320c
mov dword [ebp - 0x134], 0
jmp 0x4d2d7b
xor edi, edi
jmp 0x4d419f
mov eax, 1
jmp 0x4d3f8c
mov dword [ebp - 0x158], 1
jmp 0x4d3e1d
mov esi, 1
jmp 0x4d3cae
mov esi, 1
jmp 0x4d3bae
push 0x27
push str.Unrealisable_Transformer_Leakage_Values
push 0x681658
push 0x68165c
push 0x76e2e8
push 0x76e2e0
movsd qword [ebp - 0x178], xmm0
call fcn.0053e690
movsd xmm1, qword [0x681880]
add esp, 0x18
movsd xmm0, qword [ebp - 0x178]
push 0xc
push 0x681660
push 0x6e3448
movsd qword [ebp - 0x178], xmm0
call fcn.00471080
movsd xmm1, qword [0x681880]
add esp, 0xc
movsd xmm0, qword [ebp - 0x178]
mov eax, dword [0x6c81c8]
mov edi, dword [0x6c81c0]
mov dword [ebp - 0x118], eax
mov eax, esi
shl edi, 3
mov dword [ebp - 0x11c], edi
sub eax, edi
mov edx, dword [0x6c81cc]
mov edi, dword [ebp - 0x140]
mov esi, dword [ebp - 0x118]
imul edi, esi
imul edx, esi
mov ecx, dword [0x6c81a0]
mov dword [ebp - 0x15c], edi
sub edi, edx
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x16c], edx
add ecx, eax
lea edx, [edi + ecx]
mov dword [ebp - 0x104], edx
jmp 0x4d39b7
mov dword [ebp - 0x48], 0
jmp 0x4d5253
mov dword [ebp - 0x34], 0
jmp 0x4d502a
xor eax, eax
jmp 0x4d4e93
xor eax, eax
jmp 0x4d4b91
xor eax, eax
jmp 0x4d4970
mov edx, esi
imul edx, edi
cmp edx, 4
jl 0x4d5ce8
mov ecx, edx
xor eax, eax
mov dword [ebp - 0x20], esi
and ecx, 0xfffffffc
mov esi, dword [ebp - 0x2c]
pxor xmm0, xmm0
movups xmmword [esi + eax*8], xmm0
movups xmmword [esi + eax*8 + 0x10], xmm0
add eax, 4
cmp eax, ecx
jb 0x4d5cb7
mov esi, dword [ebp - 0x20]
cmp ecx, edx
jae 0x4d476a
mov eax, dword [ebp - 0x2c]
pxor xmm0, xmm0
movsd qword [eax + ecx*8], xmm0
inc ecx
cmp ecx, edx
jb 0x4d5cd9
jmp 0x4d476a
xor ecx, ecx
jmp 0x4d5cca
mov esi, dword [0x6c8278]
mov edi, dword [0x6c81c4]
mov dword [ebp - 0x174], esp
lea eax, [esi*8]
imul eax, edi
add eax, 0xf
and eax, 0xfffffff0
call fcn.0063fc60
mov eax, esp
mov dword [ebp - 0x154], eax
test edi, edi
jle 0x4d5d4c
test esi, esi
jle 0x4d5d4c
mov eax, edi
imul eax, esi
cmp eax, 0xc
jle 0x4d83c4
lea eax, [edi*8]
imul eax, esi
push eax
push 0
push dword [ebp - 0x154]
call fcn.0062a5e0
add esp, 0xc
mov ecx, dword [0x6c8284]
lea eax, [esi*8]
mov edx, dword [0x6c828c]
mov dword [ebp - 0x158], ecx
mov dword [ebp - 0x150], eax
test ecx, ecx
jle 0x4d6066
mov dword [ebp - 0x138], edi
mov edi, dword [0x6c81a0]
mov dword [ebp - 0x170], edi
mov edi, dword [0x6c8288]
imul edx, edi
mov ecx, dword [0x6c8280]
mov dword [ebp - 0x14c], esi
mov esi, dword [0x6c8260]
shl ecx, 3
mov dword [ebp - 0x16c], esi
sub esi, ecx
sub ecx, edx
mov eax, dword [0x6c81c8]
add esi, ecx
mov dword [ebp - 0x12c], eax
xor eax, eax
mov dword [ebp - 0x164], eax
add esi, edx
mov dword [ebp - 0x168], esi
mov dword [ebp - 0x15c], edi
mov edi, dword [ebp - 0x138]
mov esi, eax
cmp dword [ebp - 0x138], 0
jle 0x4d6047
mov edi, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x168]
mov dword [ebp - 0x160], eax
lea edi, [edi + esi*8]
mov dword [ebp - 0x178], edi
add ecx, eax
mov edi, dword [ebp - 0x154]
add edx, eax
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x134], edi
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x164], esi
mov ecx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x14c]
test eax, eax
jle 0x4d600d
cmp eax, 8
jl 0x4d83bd
mov edx, dword [ebp - 0x134]
mov esi, 1
and edx, 0xf
cmovne edx, esi
lea edi, [edx + 8]
cmp eax, edi
jl 0x4d83bd
mov esi, eax
sub esi, edx
and esi, 7
neg esi
add esi, eax
test edx, edx
jbe 0x4d5eb2
mov dword [ebp - 0x13c], esi
xor edi, edi
mov eax, dword [ebp - 0x134]
mov esi, dword [ebp - 0x128]
movsd xmm0, qword [ecx]
mulsd xmm0, qword [esi + edi*8]
addsd xmm0, qword [eax + edi*8]
movsd qword [eax + edi*8], xmm0
inc edi
cmp edi, edx
jb 0x4d5e8e
mov esi, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x14c]
mov edi, dword [ebp - 0x134]
lea edi, [edi + edx*8]
mov dword [ebp - 0x148], edi
mov edi, dword [ebp - 0x124]
lea edi, [edi + edx*8]
test edi, 0xf
je 0x4d5f45
mov eax, dword [ebp - 0x148]
nop dword [eax + eax]
mov edi, dword [ebp - 0x128]
movsd xmm4, qword [ecx]
unpcklpd xmm4, xmm4
movups xmm0, xmmword [edi + edx*8]
mov edi, dword [ebp - 0x124]
mulpd xmm0, xmm4
movups xmm1, xmmword [edi + edx*8 + 0x10]
movups xmm2, xmmword [edi + edx*8 + 0x20]
movups xmm3, xmmword [edi + edx*8 + 0x30]
mulpd xmm1, xmm4
mulpd xmm2, xmm4
mulpd xmm4, xmm3
addpd xmm0, xmmword [eax]
addpd xmm1, xmmword [eax + 0x10]
addpd xmm2, xmmword [eax + 0x20]
addpd xmm4, xmmword [eax + 0x30]
add edx, 8
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm1
movups xmmword [eax + 0x20], xmm2
movups xmmword [eax + 0x30], xmm4
add eax, 0x40
cmp edx, esi
jb 0x4d5ee0
jmp 0x4d5fb0
mov eax, dword [ebp - 0x148]
nop dword [eax + eax]
movsd xmm3, qword [ecx]
mov edi, dword [ebp - 0x128]
unpcklpd xmm3, xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
mulpd xmm0, xmmword [edi + edx*8]
mov edi, dword [ebp - 0x124]
movaps xmm2, xmm3
addpd xmm0, xmmword [eax]
mulpd xmm1, xmmword [edi + edx*8 + 0x10]
mulpd xmm2, xmmword [edi + edx*8 + 0x20]
mulpd xmm3, xmmword [edi + edx*8 + 0x30]
addpd xmm1, xmmword [eax + 0x10]
addpd xmm2, xmmword [eax + 0x20]
addpd xmm3, xmmword [eax + 0x30]
add edx, 8
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm1
movups xmmword [eax + 0x20], xmm2
movups xmmword [eax + 0x30], xmm3
add eax, 0x40
cmp edx, esi
jb 0x4d5f50
mov eax, dword [ebp - 0x14c]
lea edx, [esi + 1]
cmp edx, eax
ja 0x4d600d
mov edx, dword [ebp - 0x134]
mov edi, eax
mov dword [ebp - 0x144], 0
sub edi, esi
lea edx, [edx + esi*8]
mov dword [ebp - 0x140], edx
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x140]
lea edx, [edx + esi*8]
mov esi, dword [ebp - 0x144]
movsd xmm0, qword [ecx]
mulsd xmm0, qword [edx + esi*8]
addsd xmm0, qword [eax + esi*8]
movsd qword [eax + esi*8], xmm0
inc esi
cmp esi, edi
jb 0x4d5fef
mov eax, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
inc edi
add ecx, dword [ebp - 0x12c]
lea esi, [edx + eax*8]
mov dword [ebp - 0x134], esi
mov dword [ebp - 0x130], edi
cmp edi, dword [ebp - 0x138]
jb 0x4d5e3e
mov eax, dword [ebp - 0x160]
mov esi, dword [ebp - 0x164]
inc esi
add eax, dword [ebp - 0x15c]
cmp esi, dword [ebp - 0x158]
jb 0x4d5dd8
mov edi, dword [ebp - 0x138]
mov esi, dword [ebp - 0x14c]
xor eax, eax
mov edx, 8
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xe0], eax
movzx eax, byte [0x6c820d]
and eax, 1
shl eax, 0x15
mov ecx, dword [ebp - 0x150]
add eax, 0x40000
mov dword [ebp - 0xb8], ecx
lea ecx, [ebp - 0xe0]
push eax
push ecx
mov dword [ecx + 4], edx
mov dword [ecx + 0x1c], edx
mov edx, 1
push 0x6c8200
mov dword [ecx + 0x10], 2
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x2c], edx
mov dword [ecx + 0x24], edi
mov dword [ecx + 0xc], edx
call fcn.005d7540
add esp, 0xc
mov ecx, dword [0x6c822c]
test edi, edi
jle 0x4d62d1
mov edx, dword [0x6c8228]
imul ecx, edx
mov eax, dword [0x6c8220]
mov dword [ebp - 0x138], edi
mov edi, dword [0x6c8200]
shl eax, 3
mov dword [ebp - 0x15c], edi
sub edi, eax
sub eax, ecx
mov dword [ebp - 0x158], 0
add edi, eax
mov dword [ebp - 0x160], edx
lea edx, [esi*8]
mov eax, dword [ebp - 0x158]
add edi, ecx
mov dword [ebp - 0x164], edi
mov edi, dword [ebp - 0x138]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x168], edx
test esi, esi
jle 0x4d62ad
cmp esi, 0xc
jle 0x4d61af
mov dword [ebp - 0x14c], esi
mov edi, dword [ebp - 0x170]
mov esi, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x160]
imul ecx, esi
mov eax, dword [ebp - 0x154]
push dword [ebp - 0x168]
add ecx, dword [ebp - 0x164]
lea edx, [eax + edi]
push edx
push ecx
call fcn.0062a530
add esp, 0xc
mov eax, dword [ebp - 0x14c]
inc esi
lea edi, [edi + eax*8]
cmp esi, dword [ebp - 0x138]
jae 0x4d62d1
cmp dword [ebp - 0x14c], 0xc
jg 0x4d615a
mov dword [ebp - 0x158], esi
mov dword [ebp - 0x170], edi
mov esi, eax
cmp esi, 2
jl 0x4d83b6
mov ecx, dword [ebp - 0x160]
imul ecx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x15c]
lea edx, [eax + ecx]
and edx, 0xf
je 0x4d61e1
test dl, 7
jne 0x4d83b6
mov edx, 1
lea eax, [edx + 2]
cmp esi, eax
jl 0x4d83b6
mov eax, dword [ebp - 0x150]
mov edi, esi
imul eax, dword [ebp - 0x158]
sub edi, edx
and edi, 1
neg edi
add eax, dword [ebp - 0x154]
add edi, esi
add ecx, dword [ebp - 0x15c]
test edx, edx
jbe 0x4d623f
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x14c], esi
mov esi, dword [ebp - 0x16c]
movsd xmm0, qword [eax + esi*8]
movsd qword [ecx + esi*8], xmm0
inc esi
cmp esi, edx
jb 0x4d622a
mov esi, dword [ebp - 0x14c]
mov dword [ebp - 0x178], edi
lea edi, [eax + edx*8]
test edi, 0xf
mov edi, dword [ebp - 0x178]
je 0x4d6267
movups xmm0, xmmword [eax + edx*8]
movups xmmword [ecx + edx*8], xmm0
add edx, 2
cmp edx, edi
jb 0x4d6256
jmp 0x4d6276
movups xmm0, xmmword [eax + edx*8]
movups xmmword [ecx + edx*8], xmm0
add edx, 2
cmp edx, edi
jb 0x4d6267
cmp edi, esi
jae 0x4d62ad
mov edx, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x160]
imul edx, ecx
imul eax, ecx
add edx, dword [ebp - 0x154]
add eax, dword [ebp - 0x15c]
movsd xmm0, qword [edx + edi*8]
movsd qword [eax + edi*8], xmm0
inc edi
cmp edi, esi
jb 0x4d629e
lea edi, [ebp - 0x170]
mov eax, dword [edi]
lea edx, [ebp - 0x158]
mov ecx, dword [edx]
inc ecx
mov dword [edx], ecx
lea edx, [eax + esi*8]
mov dword [edi], edx
cmp ecx, dword [ebp - 0x138]
jb 0x4d613b
mov eax, dword [ebp - 0x174]
mov esp, eax
test byte [0x6c820c], 1
je 0x4d65ac
movzx ecx, byte [0x6c81dd]
and ecx, 1
shl ecx, 0x15
add ecx, 0x40000
push ecx
push 0x6c8200
mov eax, dword [0x6c8218]
mov edx, dword [0x6c8224]
push 0x6c81d0
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x160], edx
call fcn.005d7540
add esp, 0xc
mov eax, dword [0x6c822c]
mov ecx, dword [0x6c81fc]
mov edx, dword [0x6c81f8]
mov dword [ebp - 0x178], eax
cmp dword [ebp - 0x160], 0
jle 0x4d65c4
mov esi, dword [0x6c8200]
imul ecx, edx
mov dword [ebp - 0x150], esi
mov esi, dword [0x6c81f0]
mov edi, dword [0x6c81d0]
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x15c], edi
lea edx, [esi*8]
sub edi, ecx
sub ecx, edx
add edi, ecx
mov eax, dword [0x6c8228]
mov edx, dword [ebp - 0x178]
imul edx, eax
mov dword [ebp - 0x154], eax
lea ecx, [edi + esi*8]
mov dword [ebp - 0x164], ecx
mov ecx, dword [0x6c8220]
mov esi, dword [0x6c8200]
sub esi, edx
mov edi, dword [ebp - 0x174]
lea eax, [ecx*8]
sub edx, eax
add esi, edx
mov dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x170], eax
lea esi, [esi + ecx*8]
mov dword [ebp - 0x168], esi
lea ecx, [edi*8]
mov dword [ebp - 0x16c], ecx
mov ecx, edi
test ecx, ecx
jle 0x4d6581
cmp ecx, 0xc
jle 0x4d6454
mov edi, dword [ebp - 0x170]
mov esi, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x130]
imul ecx, esi
mov eax, dword [ebp - 0x168]
push dword [ebp - 0x16c]
add ecx, dword [ebp - 0x164]
lea edx, [eax + edi]
push edx
push ecx
call fcn.0062a530
add esp, 0xc
inc esi
add edi, dword [ebp - 0x154]
cmp esi, dword [ebp - 0x160]
jae 0x4d65a4
cmp dword [ebp - 0x174], 0xc
jg 0x4d63fe
mov dword [ebp - 0x170], edi
mov dword [ebp - 0x158], esi
mov ecx, dword [ebp - 0x174]
cmp ecx, 2
jl 0x4d8162
mov eax, dword [ebp - 0x130]
imul eax, dword [ebp - 0x158]
mov edx, dword [ebp - 0x15c]
add edx, eax
and edx, 0xf
je 0x4d6485
test dl, 7
jne 0x4d8162
mov edx, 1
lea esi, [edx + 2]
cmp ecx, esi
jl 0x4d8162
mov esi, ecx
sub esi, edx
and esi, 1
neg esi
add esi, ecx
mov dword [ebp - 0x14c], esi
mov esi, dword [ebp - 0x154]
imul esi, dword [ebp - 0x158]
mov edi, dword [ebp - 0x150]
add eax, dword [ebp - 0x15c]
mov dword [ebp - 0x148], esi
add edi, esi
mov dword [ebp - 0x144], edi
test edx, edx
jbe 0x4d64eb
mov dword [ebp - 0x178], 0
mov esi, dword [ebp - 0x178]
movsd xmm0, qword [edi + esi*8]
movsd qword [eax + esi*8], xmm0
inc esi
cmp esi, edx
jb 0x4d64dc
mov esi, dword [ebp - 0x148]
add esi, dword [ebp - 0x168]
lea edi, [esi + edx*8]
test edi, 0xf
je 0x4d651f
mov esi, dword [ebp - 0x14c]
mov edi, dword [ebp - 0x144]
movups xmm0, xmmword [edi + edx*8]
movups xmmword [eax + edx*8], xmm0
add edx, 2
cmp edx, esi
jb 0x4d650e
jmp 0x4d653a
mov esi, dword [ebp - 0x14c]
mov edi, dword [ebp - 0x144]
movups xmm0, xmmword [edi + edx*8]
movups xmmword [eax + edx*8], xmm0
add edx, 2
cmp edx, esi
jb 0x4d652b
mov dword [ebp - 0x14c], esi
cmp ecx, dword [ebp - 0x14c]
jbe 0x4d6581
mov edx, dword [ebp - 0x130]
mov esi, dword [ebp - 0x158]
mov eax, dword [ebp - 0x154]
imul edx, esi
imul eax, esi
add edx, dword [ebp - 0x15c]
add eax, dword [ebp - 0x150]
mov esi, dword [ebp - 0x14c]
movsd xmm0, qword [eax + esi*8]
movsd qword [edx + esi*8], xmm0
inc esi
cmp esi, ecx
jb 0x4d6572
mov eax, dword [ebp - 0x154]
lea esi, [ebp - 0x158]
mov edx, dword [esi]
inc edx
add dword [ebp - 0x170], eax
mov dword [esi], edx
cmp edx, dword [ebp - 0x160]
jb 0x4d63e5
mov edx, dword [ebp - 0x130]
jmp 0x4d65c4
mov esi, dword [0x6c81dc]
test esi, 1
jne 0x4d8353
mov edx, dword [0x6c81f8]
cmp dword [ebp - 0xc], 0
jle 0x4d6e07
mov eax, dword [0x6c81d0]
mov dword [ebp - 0x164], eax
mov eax, dword [0x6c81fc]
mov esi, dword [0x6c81f0]
cmp edx, 0xfffffff8
je 0x4d8344
cmp dword [ebp - 0xc], 8
jl 0x4d8344
mov ecx, edx
imul ecx, eax
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x164]
mov edi, dword [ebp - 0xc]
and edi, 0xfffffff8
mov dword [ebp - 0x170], edi
lea edi, [edx + eax]
mov dword [ebp - 0x174], esi
shl esi, 3
sub edi, ecx
sub edi, esi
mov dword [ebp - 0x168], edi
lea edi, [edx + edx*2]
add edi, eax
sub edi, ecx
sub edi, esi
mov dword [ebp - 0x15c], edi
lea edi, [edx + edx*4]
add edi, eax
sub edi, ecx
sub edi, esi
mov dword [ebp - 0x160], edi
lea edi, [edx*8]
sub edi, edx
add edi, eax
mov dword [ebp - 0x178], 0
sub edi, ecx
mov ecx, dword [ebp - 0x178]
sub edi, esi
mov eax, ecx
mov dword [ebp - 0x158], edi
mov esi, dword [ebp - 0x168]
lea edi, [esi + eax*8 + 8]
mov esi, dword [ebp - 0x15c]
add edi, ecx
lea esi, [esi + eax*8]
movsd xmm0, qword [edi]
movhpd xmm0, qword [edi + edx + 8]
addpd xmm0, xmmword [0x681760]
movsd qword [edi], xmm0
movhpd qword [edx + edi + 8], xmm0
lea edi, [ecx + esi + 0x18]
movsd xmm1, qword [edi]
movhpd xmm1, qword [edi + edx + 8]
lea edi, [esi + ecx + 0x18]
addpd xmm1, xmmword [0x681760]
mov esi, dword [ebp - 0x160]
movsd qword [edi], xmm1
movhpd qword [edx + edi + 8], xmm1
lea esi, [esi + eax*8]
lea edi, [ecx + esi + 0x28]
movsd xmm2, qword [edi]
movhpd xmm2, qword [edi + edx + 8]
lea edi, [esi + ecx + 0x28]
addpd xmm2, xmmword [0x681760]
mov esi, dword [ebp - 0x158]
movsd qword [edi], xmm2
movhpd qword [edx + edi + 8], xmm2
lea esi, [esi + eax*8]
add eax, 8
lea edi, [ecx + esi + 0x38]
movsd xmm3, qword [edi]
movhpd xmm3, qword [edi + edx + 8]
lea edi, [esi + ecx + 0x38]
addpd xmm3, xmmword [0x681760]
movsd qword [edi], xmm3
lea ecx, [ecx + edx*8]
movhpd qword [edx + edi + 8], xmm3
cmp eax, dword [ebp - 0x170]
jb 0x4d666f
mov eax, dword [ebp - 0x16c]
mov esi, dword [ebp - 0x174]
mov ecx, edx
mov edi, dword [ebp - 0x170]
imul ecx, edi
mov dword [ebp - 0x178], ecx
cmp edi, dword [ebp - 0xc]
jae 0x4d67ae
mov edi, dword [ebp - 0x164]
mov dword [ebp - 0x174], esi
mov dword [ebp - 0x16c], eax
lea ecx, [edx + edi]
mov edi, edx
imul edi, eax
sub ecx, edi
lea edi, [esi*8]
sub ecx, edi
mov esi, dword [ebp - 0x178]
mov edi, dword [ebp - 0x170]
lea eax, [ecx + edi*8]
inc edi
movsd xmm0, qword [eax + esi + 8]
addsd xmm0, qword [0x681878]
movsd qword [eax + esi + 8], xmm0
add esi, edx
cmp edi, dword [ebp - 0xc]
jb 0x4d6783
mov eax, dword [ebp - 0x16c]
mov esi, dword [ebp - 0x174]
imul eax, edx
lea ecx, [esi*8]
movsd xmm0, qword [0x681878]
movsd xmm1, qword [0x681880]
xorps xmm0, xmmword [0x6817f0]
mov dword [ebp - 0x168], ecx
lea ecx, [eax + esi*8]
mov dword [ebp - 0x144], 1
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x164]
mov edx, dword [ebp - 0x144]
lea ecx, [eax + edx*8]
mov eax, dword [ebp - 0x130]
imul eax, edx
mov dword [ebp - 0x15c], ecx
add ecx, eax
sub ecx, dword [ebp - 0x160]
movsd xmm2, qword [ecx]
andps xmm2, xmmword [0x6817e0]
comisd xmm1, xmm2
ja 0x4d827f
movaps xmm2, xmm0
divsd xmm2, qword [ecx]
mov edx, dword [ebp - 0x130]
mov esi, edx
mov dword [ebp - 0x110], ecx
movsd qword [ecx], xmm2
mov ecx, dword [ebp - 0x164]
mov edi, dword [ebp - 0x144]
add eax, ecx
sub esi, dword [ebp - 0x168]
add esi, dword [ebp - 0x15c]
add ecx, edx
mov dword [ebp - 0x170], eax
mov edx, ecx
sub eax, dword [ebp - 0x160]
sub esi, dword [ebp - 0x16c]
mov dword [ebp - 0x108], eax
lea eax, [edi - 1]
mov dword [ebp - 0x10c], esi
mov esi, dword [ebp - 0xc]
cmp eax, esi
mov dword [ebp - 0x120], 0
cmovb esi, eax
test edi, edi
mov dword [ebp - 0x128], esi
mov esi, 0
cmovg esi, edi
sub edx, dword [ebp - 0x160]
mov edi, dword [ebp - 0xc]
sub edi, esi
mov dword [ebp - 0x138], edx
mov edx, dword [ebp - 0x168]
sub ecx, edx
mov dword [ebp - 0x12c], edi
shr edi, 1
mov dword [ebp - 0x114], edi
mov edi, dword [ebp - 0x16c]
sub ecx, edi
mov dword [ebp - 0x134], ecx
mov ecx, dword [ebp - 0x170]
sub ecx, edx
sub ecx, edi
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x124], eax
lea eax, [esi + 1]
lea edx, [ecx + esi*8]
mov esi, dword [ebp - 0x128]
mov dword [ebp - 0x11c], edx
shr esi, 1
mov dword [ebp - 0x118], esi
mov edx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x120]
inc ecx
mov dword [ebp - 0x120], ecx
cmp ecx, dword [ebp - 0x144]
je 0x4d6b32
cmp dword [ebp - 0x124], 0
jle 0x4d6a2c
cmp dword [ebp - 0x118], 0
jbe 0x4d8275
mov esi, dword [ebp - 0x134]
xor ecx, ecx
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x104], edx
add esi, edx
mov dword [ebp - 0xfc], esi
mov eax, ecx
nop dword [eax]
nop dword [eax]
mov dword [ebp - 0xf8], ecx
mov ecx, dword [ebp - 0x110]
mov edi, dword [ebp - 0x10c]
mov esi, dword [ebp - 0x104]
movsd xmm2, qword [ecx]
mov edx, dword [ebp - 0x108]
mulsd xmm2, qword [esi + edi]
mulsd xmm2, qword [eax + edx + 8]
mov edx, dword [ebp - 0xfc]
addsd xmm2, qword [eax + edx + 8]
movsd qword [eax + edx + 8], xmm2
movsd xmm3, qword [ecx]
mulsd xmm3, qword [esi + edi]
mov ecx, dword [ebp - 0x108]
mulsd xmm3, qword [eax + ecx + 0x10]
mov ecx, dword [ebp - 0xf8]
inc ecx
addsd xmm3, qword [eax + edx + 0x10]
movsd qword [eax + edx + 0x10], xmm3
add eax, 0x10
cmp ecx, dword [ebp - 0x118]
jb 0x4d6970
mov edx, esi
lea esi, [ecx + ecx + 1]
mov eax, dword [ebp - 0x13c]
lea ecx, [esi - 1]
cmp ecx, dword [ebp - 0x128]
jae 0x4d6a2c
mov edi, dword [ebp - 0x134]
lea ecx, [edi + esi*8]
mov edi, dword [ebp - 0x110]
movsd xmm2, qword [edi]
mov edi, dword [ebp - 0x10c]
mulsd xmm2, qword [edx + edi]
mov edi, dword [ebp - 0x108]
mulsd xmm2, qword [edi + esi*8]
addsd xmm2, qword [ecx + edx]
movsd qword [ecx + edx], xmm2
cmp eax, dword [ebp - 0xc]
ja 0x4d6b32
cmp dword [ebp - 0x114], 0
jbe 0x4d826b
mov esi, dword [ebp - 0x138]
xor ecx, ecx
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x104], edx
lea edi, [esi + edx]
mov esi, dword [ebp - 0x140]
mov eax, ecx
lea esi, [edi + esi*8]
mov dword [ebp - 0x100], esi
nop word [eax + eax]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebp - 0x110]
mov edi, dword [ebp - 0x10c]
mov esi, dword [ebp - 0x104]
movsd xmm2, qword [ecx]
mov edx, dword [ebp - 0x11c]
mulsd xmm2, qword [esi + edi]
mulsd xmm2, qword [eax + edx + 8]
mov edx, dword [ebp - 0x100]
addsd xmm2, qword [eax + edx + 8]
movsd qword [eax + edx + 8], xmm2
movsd xmm3, qword [ecx]
mulsd xmm3, qword [esi + edi]
mov ecx, dword [ebp - 0x11c]
mulsd xmm3, qword [eax + ecx + 0x10]
mov ecx, dword [ebp - 0xf4]
inc ecx
addsd xmm3, qword [eax + edx + 0x10]
movsd qword [eax + edx + 0x10], xmm3
add eax, 0x10
cmp ecx, dword [ebp - 0x114]
jb 0x4d6a70
mov edx, esi
lea esi, [ecx + ecx + 1]
mov eax, dword [ebp - 0x13c]
lea ecx, [esi - 1]
cmp ecx, dword [ebp - 0x12c]
jae 0x4d6b32
add esi, dword [ebp - 0x140]
mov edi, dword [ebp - 0x134]
lea ecx, [edi + esi*8]
mov edi, dword [ebp - 0x110]
movsd xmm2, qword [edi]
mov edi, dword [ebp - 0x10c]
mulsd xmm2, qword [edx + edi]
mov edi, dword [ebp - 0x108]
mulsd xmm2, qword [edi + esi*8]
addsd xmm2, qword [ecx + edx]
movsd qword [ecx + edx], xmm2
mov ecx, dword [ebp - 0x120]
add edx, dword [ebp - 0x130]
cmp ecx, dword [ebp - 0xc]
jb 0x4d6914
mov ecx, dword [ebp - 0x110]
cmp dword [ebp - 0x124], 0
jle 0x4d6c92
cmp dword [ebp - 0x118], 0
jbe 0x4d8261
mov edx, dword [ebp - 0x130]
xor esi, esi
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x13c], eax
lea edi, [edx + edx]
xor edx, edx
sub edi, dword [ebp - 0x168]
add edi, dword [ebp - 0x15c]
sub edi, dword [ebp - 0x16c]
mov dword [ebp - 0x158], edi
mov ecx, edx
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x14c], esi
mov esi, dword [ebp - 0x10c]
movsd xmm2, qword [eax]
xorps xmm2, xmmword [0x6817f0]
mulsd xmm2, qword [esi + edx*2]
movsd qword [esi + edx*2], xmm2
mov esi, dword [ebp - 0x108]
movsd xmm3, qword [eax]
xorps xmm3, xmmword [0x6817f0]
mulsd xmm3, qword [ecx + esi + 8]
movsd qword [ecx + esi + 8], xmm3
mov edi, dword [ebp - 0x158]
movsd xmm4, qword [eax]
xorps xmm4, xmmword [0x6817f0]
mulsd xmm4, qword [edi + edx*2]
movsd qword [edi + edx*2], xmm4
movsd xmm5, qword [eax]
xorps xmm5, xmmword [0x6817f0]
mulsd xmm5, qword [ecx + esi + 0x10]
movsd qword [ecx + esi + 0x10], xmm5
add ecx, 0x10
mov esi, dword [ebp - 0x14c]
inc esi
add edx, dword [ebp - 0x130]
cmp esi, dword [ebp - 0x118]
jb 0x4d6b9a
mov eax, dword [ebp - 0x13c]
lea edx, [esi + esi + 1]
mov ecx, dword [ebp - 0x110]
lea esi, [edx - 1]
cmp esi, dword [ebp - 0x128]
jae 0x4d6c92
mov edi, dword [ebp - 0x15c]
mov esi, dword [ebp - 0x130]
imul esi, edx
movsd xmm2, qword [ecx]
xorps xmm2, xmmword [0x6817f0]
sub edi, dword [ebp - 0x168]
sub edi, dword [ebp - 0x16c]
mulsd xmm2, qword [esi + edi]
movsd qword [esi + edi], xmm2
mov esi, dword [ebp - 0x108]
movsd xmm3, qword [ecx]
xorps xmm3, xmmword [0x6817f0]
mulsd xmm3, qword [esi + edx*8]
movsd qword [esi + edx*8], xmm3
cmp eax, dword [ebp - 0xc]
ja 0x4d6deb
cmp dword [ebp - 0x114], 0
jbe 0x4d8257
mov edi, dword [ebp - 0x130]
mov esi, edi
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x15c]
imul esi, dword [ebp - 0x140]
mov eax, dword [ebp - 0x160]
lea edx, [edi + ecx]
sub edx, eax
add edx, esi
mov dword [ebp - 0x150], edx
lea edx, [ecx + edi*2]
mov dword [ebp - 0x148], 0
sub edx, eax
mov edi, dword [ebp - 0x148]
add esi, edx
mov edx, edi
mov ecx, dword [ebp - 0x110]
mov eax, edx
mov dword [ebp - 0x154], esi
mov esi, dword [ebp - 0x150]
movsd xmm2, qword [ecx]
xorps xmm2, xmmword [0x6817f0]
mulsd xmm2, qword [esi + edx*2]
movsd qword [esi + edx*2], xmm2
mov esi, dword [ebp - 0x11c]
movsd xmm3, qword [ecx]
xorps xmm3, xmmword [0x6817f0]
mulsd xmm3, qword [eax + esi + 8]
movsd qword [eax + esi + 8], xmm3
mov dword [ebp - 0x148], edi
mov edi, dword [ebp - 0x154]
movsd xmm4, qword [ecx]
xorps xmm4, xmmword [0x6817f0]
mulsd xmm4, qword [edi + edx*2]
movsd qword [edi + edx*2], xmm4
movsd xmm5, qword [ecx]
xorps xmm5, xmmword [0x6817f0]
mulsd xmm5, qword [eax + esi + 0x10]
mov edi, dword [ebp - 0x148]
inc edi
add edx, dword [ebp - 0x130]
movsd qword [eax + esi + 0x10], xmm5
add eax, 0x10
cmp edi, dword [ebp - 0x114]
jb 0x4d6cfd
lea edx, [edi + edi + 1]
lea eax, [edx - 1]
cmp eax, dword [ebp - 0x12c]
jae 0x4d6deb
mov eax, dword [ebp - 0x140]
add eax, edx
mov esi, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x130]
imul edx, eax
movsd xmm2, qword [ecx]
xorps xmm2, xmmword [0x6817f0]
sub esi, dword [ebp - 0x168]
sub esi, dword [ebp - 0x16c]
mulsd xmm2, qword [edx + esi]
movsd qword [edx + esi], xmm2
movsd xmm3, qword [ecx]
mov ecx, dword [ebp - 0x108]
xorps xmm3, xmmword [0x6817f0]
mulsd xmm3, qword [ecx + eax*8]
movsd qword [ecx + eax*8], xmm3
mov eax, dword [ebp - 0x144]
inc eax
mov dword [ebp - 0x144], eax
cmp eax, dword [ebp - 0xc]
jle 0x4d67f4
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x148], edx
mov edi, 8
movzx edx, byte [0x6c81dd]
xor esi, esi
and edx, 1
shl edx, 0x15
mov eax, dword [0x6c81e8]
add edx, 0x40000
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x158], eax
lea eax, [ebp - 0x170]
push edx
push eax
mov ecx, dword [0x6c81f4]
mov dword [eax + 4], edi
mov dword [eax + 0x1c], edi
mov edi, 1
push 0x6c81d0
mov dword [eax + 0x44], ecx
mov dword [eax + 0x10], 2
mov dword [eax + 8], esi
mov dword [eax + 0x20], edi
mov dword [eax + 0x2c], edi
mov dword [eax + 0x24], ecx
mov dword [eax], esi
mov dword [eax + 0xc], edi
call fcn.005d7540
add esp, 0xc
mov eax, dword [0x6c81fc]
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x12c], 0
jle 0x4d7005
mov esi, dword [0x6c81f8]
xor edi, edi
imul eax, esi
mov ecx, dword [0x6c81f0]
mov edx, dword [0x6c81d0]
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x134], edx
lea esi, [ecx*8]
sub edx, eax
sub eax, esi
add edx, eax
mov dword [ebp - 0x130], edi
lea eax, [edx + ecx*8]
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x178], eax
test ecx, ecx
jle 0x4d6fe6
cmp ecx, 8
jl 0x4d8250
mov eax, dword [ebp - 0x134]
lea edx, [eax + edi]
and edx, 0xf
je 0x4d6f03
test dl, 7
jne 0x4d8250
mov edx, 1
lea eax, [edx + 8]
cmp ecx, eax
jl 0x4d8250
mov esi, ecx
sub esi, edx
mov eax, dword [ebp - 0x134]
and esi, 7
neg esi
add esi, ecx
add eax, edi
mov dword [ebp - 0x128], eax
test edx, edx
jbe 0x4d6f58
mov dword [ebp - 0x174], 0
mov ecx, dword [ebp - 0x174]
movsd xmm0, qword [eax]
inc ecx
xorps xmm0, xmmword [0x6817f0]
movsd qword [eax], xmm0
add eax, 8
cmp ecx, edx
jb 0x4d6f3b
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x128]
add eax, edi
nop dword [eax]
nop dword [eax]
movups xmm0, xmmword [ecx + edx*8]
xorps xmm0, xmmword [0x681770]
movups xmmword [ecx + edx*8], xmm0
movups xmm1, xmmword [eax + edx*8 + 0x10]
movups xmm2, xmmword [eax + edx*8 + 0x20]
movups xmm3, xmmword [eax + edx*8 + 0x30]
xorps xmm1, xmmword [0x681770]
xorps xmm2, xmmword [0x681770]
xorps xmm3, xmmword [0x681770]
movups xmmword [eax + edx*8 + 0x10], xmm1
movups xmmword [eax + edx*8 + 0x20], xmm2
movups xmmword [eax + edx*8 + 0x30], xmm3
add edx, 8
cmp edx, esi
jb 0x4d6f70
mov ecx, dword [ebp - 0x13c]
cmp esi, ecx
jae 0x4d6fe6
mov eax, dword [ebp - 0x134]
lea edx, [eax + edi]
lea eax, [edx + esi*8]
movsd xmm0, qword [eax]
inc esi
xorps xmm0, xmmword [0x6817f0]
movsd qword [eax], xmm0
add eax, 8
cmp esi, ecx
jb 0x4d6fcf
mov eax, dword [ebp - 0x130]
inc eax
add edi, dword [ebp - 0x138]
mov dword [ebp - 0x130], eax
cmp eax, dword [ebp - 0x12c]
jb 0x4d6ed6
mov edx, dword [0x6c81e8]
mov esi, dword [0x6c8224]
mov dword [ebp - 0x174], esp
mov dword [ebp - 0xf0], edx
lea eax, [edx*8]
imul eax, esi
add eax, 0xf
and eax, 0xfffffff0
call fcn.0063fc60
mov eax, esp
mov dword [ebp - 0x10c], eax
test esi, esi
jle 0x4d7078
cmp dword [ebp - 0xf0], 0
jle 0x4d7078
mov eax, esi
imul eax, dword [ebp - 0xf0]
cmp eax, 0xc
jle 0x4d8202
lea eax, [esi*8]
imul eax, dword [ebp - 0xf0]
push eax
push 0
push dword [ebp - 0x10c]
call fcn.0062a5e0
add esp, 0xc
mov eax, dword [ebp - 0xf0]
mov ecx, dword [0x6c81f4]
mov dword [ebp - 0x124], ecx
lea edx, [eax*8]
mov dword [ebp - 0x178], edx
test ecx, ecx
jle 0x4d73cc
mov dword [ebp - 0xec], esi
xor edi, edi
mov esi, dword [0x6c81f8]
mov eax, dword [ebp - 0x140]
imul eax, esi
mov dword [ebp - 0x128], esi
mov esi, dword [0x6c81f0]
mov edx, dword [0x6c8200]
mov ecx, dword [0x6c8228]
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x100], ecx
lea ecx, [esi*8]
mov edx, dword [0x6c81d0]
mov dword [ebp - 0x138], edx
sub edx, eax
sub eax, ecx
add edx, eax
mov dword [ebp - 0x130], edi
mov ecx, edi
lea eax, [edx + esi*8]
mov esi, dword [ebp - 0xec]
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0xec], 0
jle 0x4d73b3
mov esi, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x130], ecx
lea esi, [esi + ecx*8]
mov dword [ebp - 0x140], esi
add edx, edi
mov esi, dword [ebp - 0x10c]
add eax, edi
mov dword [ebp - 0x108], esi
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x12c], edi
mov edx, esi
mov esi, dword [ebp - 0x140]
mov ecx, dword [ebp - 0xf0]
test ecx, ecx
jle 0x4d7385
cmp ecx, 8
jl 0x4d81fb
mov edi, edx
mov eax, 1
and edi, 0xf
cmovne edi, eax
mov dword [ebp - 0x104], edi
lea eax, [edi + 8]
cmp ecx, eax
jl 0x4d81fb
mov eax, ecx
sub eax, edi
and eax, 7
neg eax
add eax, ecx
test edi, edi
jbe 0x4d71ee
mov dword [ebp - 0x110], eax
xor edi, edi
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xf4]
movsd xmm0, qword [esi]
mulsd xmm0, qword [ecx + edi*8]
addsd xmm0, qword [edx + edi*8]
movsd qword [edx + edi*8], xmm0
inc edi
cmp edi, eax
jb 0x4d71c4
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x104]
lea edi, [edx + eax*8]
mov dword [ebp - 0x120], edi
mov edi, dword [ebp - 0xf8]
lea eax, [edi + eax*8]
test al, 0xf
mov eax, dword [ebp - 0x110]
je 0x4d7298
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x104]
nop dword [eax]
mov edi, dword [ebp - 0xf4]
movsd xmm4, qword [esi]
unpcklpd xmm4, xmm4
movups xmm0, xmmword [edi + ecx*8]
mov edi, dword [ebp - 0xf8]
mulpd xmm0, xmm4
movups xmm1, xmmword [edi + ecx*8 + 0x10]
movups xmm2, xmmword [edi + ecx*8 + 0x20]
movups xmm3, xmmword [edi + ecx*8 + 0x30]
mulpd xmm1, xmm4
mulpd xmm2, xmm4
mulpd xmm4, xmm3
addpd xmm0, xmmword [edx]
addpd xmm1, xmmword [edx + 0x10]
addpd xmm2, xmmword [edx + 0x20]
addpd xmm4, xmmword [edx + 0x30]
add ecx, 8
movups xmmword [edx], xmm0
movups xmmword [edx + 0x10], xmm1
movups xmmword [edx + 0x20], xmm2
movups xmmword [edx + 0x30], xmm4
add edx, 0x40
cmp ecx, eax
jb 0x4d7230
jmp 0x4d7310
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x104]
nop word [eax + eax]
movsd xmm3, qword [esi]
mov edi, dword [ebp - 0xf4]
unpcklpd xmm3, xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
mulpd xmm0, xmmword [edi + ecx*8]
mov edi, dword [ebp - 0xf8]
movaps xmm2, xmm3
addpd xmm0, xmmword [edx]
mulpd xmm1, xmmword [edi + ecx*8 + 0x10]
mulpd xmm2, xmmword [edi + ecx*8 + 0x20]
mulpd xmm3, xmmword [edi + ecx*8 + 0x30]
addpd xmm1, xmmword [edx + 0x10]
addpd xmm2, xmmword [edx + 0x20]
addpd xmm3, xmmword [edx + 0x30]
add ecx, 8
movups xmmword [edx], xmm0
movups xmmword [edx + 0x10], xmm1
movups xmmword [edx + 0x20], xmm2
movups xmmword [edx + 0x30], xmm3
add edx, 0x40
cmp ecx, eax
jb 0x4d72b0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xf0]
lea edi, [eax + 1]
cmp edi, ecx
ja 0x4d7385
mov edi, ecx
sub edi, eax
mov dword [ebp - 0x114], edi
lea edi, [edx + eax*8]
mov dword [ebp - 0x11c], edi
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x11c]
lea eax, [edi + eax*8]
mov ecx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x114]
movsd xmm0, qword [esi]
mulsd xmm0, qword [eax + ecx*8]
addsd xmm0, qword [edx + ecx*8]
movsd qword [edx + ecx*8], xmm0
inc ecx
cmp ecx, edi
jb 0x4d7361
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xfc]
lea edx, [edx + ecx*8]
inc eax
add esi, dword [ebp - 0x100]
mov dword [ebp - 0xfc], eax
cmp eax, dword [ebp - 0xec]
jb 0x4d7172
mov edi, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
inc ecx
add edi, dword [ebp - 0x128]
cmp ecx, dword [ebp - 0x124]
jb 0x4d710a
mov esi, dword [ebp - 0xec]
xor eax, eax
mov edx, 8
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x140], eax
movzx eax, byte [0x6c823d]
and eax, 1
shl eax, 0x15
mov ecx, dword [ebp - 0xf0]
add eax, 0x40000
mov dword [ebp - 0x128], ecx
lea ecx, [ebp - 0x140]
push eax
push ecx
mov edi, dword [ecx - 0x38]
mov dword [ecx + 4], edx
mov dword [ecx + 0x1c], edx
mov edx, 1
push 0x6c8230
mov dword [ecx + 0x10], 2
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x28], edi
mov dword [ecx + 0x2c], edx
mov dword [ecx + 0x24], esi
mov dword [ecx + 0xc], edx
call fcn.005d7540
add esp, 0xc
mov eax, dword [0x6c825c]
mov edx, dword [0x6c8250]
mov dword [ebp - 0x110], eax
test esi, esi
jle 0x4d7677
mov ecx, dword [0x6c8258]
xor eax, eax
mov edi, dword [ebp - 0x110]
imul edi, ecx
mov dword [ebp - 0xec], esi
mov dword [ebp - 0x178], edx
shl edx, 3
mov esi, dword [0x6c8230]
mov dword [ebp - 0x104], esi
sub esi, edx
sub edx, edi
add esi, edx
add esi, edi
mov dword [ebp - 0x100], esi
mov dword [ebp - 0x108], ecx
mov esi, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xfc], eax
test ecx, ecx
jle 0x4d7647
cmp ecx, 8
jl 0x4d81ec
mov edx, dword [ebp - 0x104]
add edx, eax
and edx, 0xf
je 0x4d74cd
test dl, 7
jne 0x4d81ec
mov edx, 1
lea edi, [edx + 8]
cmp ecx, edi
jl 0x4d81ec
mov edi, ecx
sub edi, edx
and edi, 7
neg edi
add edi, ecx
mov dword [ebp - 0xf8], edi
mov edi, dword [ebp - 0x104]
add edi, eax
mov dword [ebp - 0xf4], edi
test edx, edx
jbe 0x4d751b
mov ecx, edi
xor edi, edi
movsd xmm0, qword [esi + edi*8]
xorps xmm0, xmmword [0x6817f0]
movsd qword [ecx + edi*8], xmm0
inc edi
cmp edi, edx
jb 0x4d74ff
mov ecx, dword [ebp - 0xf0]
lea edi, [esi + edx*8]
test edi, 0xf
je 0x4d759b
mov edi, dword [ebp - 0x100]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf4]
lea edi, [edi + edx*8]
nop dword [eax + eax]
nop dword [eax]
movups xmm0, xmmword [esi + edx*8]
movups xmm1, xmmword [esi + edx*8 + 0x10]
movups xmm2, xmmword [esi + edx*8 + 0x20]
movups xmm3, xmmword [esi + edx*8 + 0x30]
xorps xmm0, xmmword [0x681770]
xorps xmm1, xmmword [0x681770]
xorps xmm2, xmmword [0x681770]
xorps xmm3, xmmword [0x681770]
movups xmmword [ecx + edx*8], xmm0
add edx, 8
movups xmmword [edi + 0x10], xmm1
movups xmmword [edi + 0x20], xmm2
movups xmmword [edi + 0x30], xmm3
add edi, 0x40
cmp edx, eax
jb 0x4d7550
jmp 0x4d7609
mov edi, dword [ebp - 0x100]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf4]
lea edi, [edi + edx*8]
nop dword [eax]
nop dword [eax]
movups xmm0, xmmword [esi + edx*8]
movups xmm1, xmmword [esi + edx*8 + 0x10]
movups xmm2, xmmword [esi + edx*8 + 0x20]
movups xmm3, xmmword [esi + edx*8 + 0x30]
xorps xmm0, xmmword [0x681770]
xorps xmm1, xmmword [0x681770]
xorps xmm2, xmmword [0x681770]
xorps xmm3, xmmword [0x681770]
movups xmmword [ecx + edx*8], xmm0
add edx, 8
movups xmmword [edi + 0x10], xmm1
movups xmmword [edi + 0x20], xmm2
movups xmmword [edi + 0x30], xmm3
add edi, 0x40
cmp edx, eax
jb 0x4d75c0
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xf0]
cmp ecx, dword [ebp - 0xf8]
jbe 0x4d7647
mov edx, dword [ebp - 0x104]
mov edi, dword [ebp - 0xf8]
add edx, eax
movsd xmm0, qword [esi + edi*8]
xorps xmm0, xmmword [0x6817f0]
movsd qword [edx + edi*8], xmm0
inc edi
cmp edi, ecx
jb 0x4d7631
mov edx, dword [ebp - 0x108]
add eax, edx
mov edi, dword [ebp - 0xfc]
lea esi, [esi + ecx*8]
inc edi
add dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], edi
cmp edi, dword [ebp - 0xec]
jb 0x4d74a1
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x174]
mov esp, eax
cmp dword [ebp - 0xc], 0
jle 0x4d7818
mov esi, dword [0x6c8258]
mov edi, dword [0x6c8230]
cmp esi, 0xfffffff8
je 0x4d81e5
cmp dword [ebp - 0xc], 8
jl 0x4d81e5
mov dword [ebp - 0x174], edi
lea eax, [edx*8]
neg eax
add eax, edi
mov edi, dword [ebp - 0x110]
imul edi, esi
sub eax, edi
mov ecx, dword [ebp - 0xc]
and ecx, 0xfffffff8
mov dword [ebp - 0x10c], ecx
xor ecx, ecx
lea edi, [esi + eax]
mov dword [ebp - 0x104], edi
lea edi, [esi + esi*2]
add edi, eax
mov dword [ebp - 0x100], edi
lea edi, [esi + esi*4]
add edi, eax
mov dword [ebp - 0xfc], edi
lea edi, [esi*8]
sub edi, esi
add eax, edi
mov dword [ebp - 0x108], eax
mov eax, ecx
mov dword [ebp - 0x178], edx
mov edx, dword [ebp - 0x104]
lea edi, [edx + ecx*8 + 8]
mov edx, dword [ebp - 0x100]
add edi, eax
lea edx, [edx + ecx*8]
movsd xmm0, qword [edi]
movhpd xmm0, qword [edi + esi + 8]
addpd xmm0, xmmword [0x681760]
movsd qword [edi], xmm0
movhpd qword [esi + edi + 8], xmm0
lea edi, [eax + edx + 0x18]
movsd xmm1, qword [edi]
movhpd xmm1, qword [edi + esi + 8]
lea edi, [edx + eax + 0x18]
addpd xmm1, xmmword [0x681760]
mov edx, dword [ebp - 0xfc]
movsd qword [edi], xmm1
movhpd qword [esi + edi + 8], xmm1
lea edx, [edx + ecx*8]
lea edi, [eax + edx + 0x28]
movsd xmm2, qword [edi]
movhpd xmm2, qword [edi + esi + 8]
lea edi, [edx + eax + 0x28]
addpd xmm2, xmmword [0x681760]
mov edx, dword [ebp - 0x108]
movsd qword [edi], xmm2
movhpd qword [esi + edi + 8], xmm2
lea edx, [edx + ecx*8]
add ecx, 8
lea edi, [eax + edx + 0x38]
movsd xmm3, qword [edi]
movhpd xmm3, qword [edi + esi + 8]
lea edi, [edx + eax + 0x38]
addpd xmm3, xmmword [0x681760]
movsd qword [edi], xmm3
lea eax, [eax + esi*8]
movhpd qword [esi + edi + 8], xmm3
cmp ecx, dword [ebp - 0x10c]
jb 0x4d770a
mov edi, dword [ebp - 0x174]
mov eax, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x178]
mov ecx, esi
imul ecx, eax
cmp eax, dword [ebp - 0xc]
jae 0x4d7818
shl edx, 3
sub edi, edx
mov edx, dword [ebp - 0x110]
imul edx, esi
sub edi, edx
add edi, esi
lea edx, [edi + eax*8]
inc eax
movsd xmm0, qword [edx + ecx + 8]
addsd xmm0, qword [0x681878]
movsd qword [edx + ecx + 8], xmm0
add ecx, esi
cmp eax, dword [ebp - 0xc]
jb 0x4d77f9
mov esi, dword [0x6c8254]
mov edi, dword [0x6c81b8]
mov dword [ebp - 0x174], esp
lea eax, [esi*8]
imul eax, edi
add eax, 0xf
and eax, 0xfffffff0
call fcn.0063fc60
mov eax, esp
mov dword [ebp - 0x9c], eax
test esi, esi
jle 0x4d7878
test edi, edi
jle 0x4d7878
mov edx, esi
imul edx, edi
cmp edx, 0xc
jle 0x4d818e
lea eax, [esi*8]
imul eax, edi
push eax
push 0
push dword [ebp - 0x9c]
call fcn.0062a5e0
add esp, 0xc
mov edx, dword [0x6c81c4]
lea eax, [edi*8]
mov ecx, dword [0x6c81cc]
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0x98], eax
test edx, edx
jle 0x4d7bc2
mov dword [ebp - 0x88], esi
mov esi, dword [0x6c81c8]
imul ecx, esi
mov dword [ebp - 0x100], esi
mov edx, dword [0x6c8230]
mov esi, dword [0x6c81c0]
mov eax, dword [0x6c81a0]
shl esi, 3
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x10c], eax
sub eax, esi
mov edx, dword [0x6c8258]
sub esi, ecx
mov dword [ebp - 0xac], edx
xor edx, edx
add eax, esi
mov dword [ebp - 0x108], edx
add eax, ecx
mov dword [ebp - 0x110], eax
mov esi, dword [ebp - 0x88]
mov ecx, edx
mov dword [ebp - 0x8c], edi
cmp dword [ebp - 0x88], 0
jle 0x4d7ba3
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x110]
mov esi, dword [ebp - 0x178]
mov dword [ebp - 0x104], edx
add edi, edx
mov dword [ebp - 0xa0], edi
add eax, edx
mov edi, dword [ebp - 0x9c]
lea esi, [esi + ecx*8]
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], eax
mov edx, edi
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
jle 0x4d7b75
cmp ecx, 8
jl 0x4d8187
mov edi, edx
mov eax, 1
and edi, 0xf
cmovne edi, eax
mov dword [ebp - 0xb0], edi
lea eax, [edi + 8]
cmp ecx, eax
jl 0x4d8187
mov eax, ecx
sub eax, edi
and eax, 7
neg eax
add eax, ecx
test edi, edi
jbe 0x4d79dc
mov dword [ebp - 0xe8], eax
xor edi, edi
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xa0]
movsd xmm0, qword [esi]
mulsd xmm0, qword [ecx + edi*8]
addsd xmm0, qword [edx + edi*8]
movsd qword [edx + edi*8], xmm0
inc edi
cmp edi, eax
jb 0x4d79b2
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xb0]
lea edi, [edx + eax*8]
mov dword [ebp - 0xf8], edi
mov edi, dword [ebp - 0xa4]
lea eax, [edi + eax*8]
test al, 0xf
mov eax, dword [ebp - 0xe8]
je 0x4d7a88
mov dword [ebp - 0xe4], edx
mov edx, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xb0]
nop word [eax + eax]
mov edi, dword [ebp - 0xa0]
movsd xmm4, qword [esi]
unpcklpd xmm4, xmm4
movups xmm0, xmmword [edi + ecx*8]
mov edi, dword [ebp - 0xa4]
mulpd xmm0, xmm4
movups xmm1, xmmword [edi + ecx*8 + 0x10]
movups xmm2, xmmword [edi + ecx*8 + 0x20]
movups xmm3, xmmword [edi + ecx*8 + 0x30]
mulpd xmm1, xmm4
mulpd xmm2, xmm4
mulpd xmm4, xmm3
addpd xmm0, xmmword [edx]
addpd xmm1, xmmword [edx + 0x10]
addpd xmm2, xmmword [edx + 0x20]
addpd xmm4, xmmword [edx + 0x30]
add ecx, 8
movups xmmword [edx], xmm0
movups xmmword [edx + 0x10], xmm1
movups xmmword [edx + 0x20], xmm2
movups xmmword [edx + 0x30], xmm4
add edx, 0x40
cmp ecx, eax
jb 0x4d7a20
jmp 0x4d7b00
mov dword [ebp - 0xe4], edx
mov edx, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xb0]
nop word [eax + eax]
movsd xmm3, qword [esi]
mov edi, dword [ebp - 0xa0]
unpcklpd xmm3, xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
mulpd xmm0, xmmword [edi + ecx*8]
mov edi, dword [ebp - 0xa4]
movaps xmm2, xmm3
addpd xmm0, xmmword [edx]
mulpd xmm1, xmmword [edi + ecx*8 + 0x10]
mulpd xmm2, xmmword [edi + ecx*8 + 0x20]
mulpd xmm3, xmmword [edi + ecx*8 + 0x30]
addpd xmm1, xmmword [edx + 0x10]
addpd xmm2, xmmword [edx + 0x20]
addpd xmm3, xmmword [edx + 0x30]
add ecx, 8
movups xmmword [edx], xmm0
movups xmmword [edx + 0x10], xmm1
movups xmmword [edx + 0x20], xmm2
movups xmmword [edx + 0x30], xmm3
add edx, 0x40
cmp ecx, eax
jb 0x4d7aa0
mov edx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x8c]
lea edi, [eax + 1]
cmp edi, ecx
ja 0x4d7b75
mov edi, ecx
sub edi, eax
mov dword [ebp - 0xec], edi
lea edi, [edx + eax*8]
mov dword [ebp - 0xf4], edi
mov edi, dword [ebp - 0xa4]
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xe4], edx
mov edx, dword [ebp - 0xf4]
lea eax, [edi + eax*8]
mov ecx, dword [ebp - 0xf0]
mov edi, dword [ebp - 0xec]
movsd xmm0, qword [esi]
mulsd xmm0, qword [eax + ecx*8]
addsd xmm0, qword [edx + ecx*8]
movsd qword [edx + ecx*8], xmm0
inc ecx
cmp ecx, edi
jb 0x4d7b51
mov edx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0xa8]
lea edx, [edx + ecx*8]
inc eax
add esi, dword [ebp - 0xac]
mov dword [ebp - 0xa8], eax
cmp eax, dword [ebp - 0x88]
jb 0x4d7960
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x108]
inc ecx
add edx, dword [ebp - 0x100]
cmp ecx, dword [ebp - 0xfc]
jb 0x4d7904
mov esi, dword [ebp - 0x88]
mov edi, dword [ebp - 0x8c]
xor eax, eax
mov edx, 8
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x110], eax
movzx eax, byte [0x6c820d]
and eax, 1
shl eax, 0x15
mov ecx, dword [ebp - 0x98]
add eax, 0x40000
mov dword [ebp - 0xe8], ecx
lea ecx, [ebp - 0x110]
push eax
push ecx
mov dword [ecx + 4], edx
mov dword [ecx + 0x1c], edx
mov edx, 1
push 0x6c8200
mov dword [ecx + 0x10], 2
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x2c], edx
mov dword [ecx + 0x24], esi
mov dword [ecx + 0xc], edx
call fcn.005d7540
add esp, 0xc
mov ecx, dword [0x6c822c]
test esi, esi
jle 0x4d7e31
mov edx, dword [0x6c8228]
imul ecx, edx
mov eax, dword [0x6c8220]
mov dword [ebp - 0x88], esi
mov esi, dword [0x6c8200]
shl eax, 3
mov dword [ebp - 0x94], esi
sub esi, eax
sub eax, ecx
mov dword [ebp - 0x90], 0
add esi, eax
mov dword [ebp - 0xa4], edx
lea edx, [edi*8]
mov eax, dword [ebp - 0x90]
add esi, ecx
mov dword [ebp - 0xac], esi
mov esi, dword [ebp - 0x88]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xa8], edx
test edi, edi
jle 0x4d7e09
cmp edi, 0xc
jle 0x4d7d0b
mov dword [ebp - 0x8c], edi
mov edi, dword [ebp - 0xb0]
mov esi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xa4]
imul ecx, esi
mov eax, dword [ebp - 0x9c]
push dword [ebp - 0xa8]
add ecx, dword [ebp - 0xac]
lea edx, [eax + edi]
push edx
push ecx
call fcn.0062a530
add esp, 0xc
mov eax, dword [ebp - 0x8c]
inc esi
lea edi, [edi + eax*8]
cmp esi, dword [ebp - 0x88]
jae 0x4d7e31
cmp dword [ebp - 0x8c], 0xc
jg 0x4d7cb6
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0x90], esi
mov edi, eax
cmp edi, 2
jl 0x4d8180
mov ecx, dword [ebp - 0xa4]
imul ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x94]
lea edx, [eax + ecx]
and edx, 0xf
je 0x4d7d3d
test dl, 7
jne 0x4d8180
mov edx, 1
lea eax, [edx + 2]
cmp edi, eax
jl 0x4d8180
mov eax, dword [ebp - 0x98]
mov esi, edi
imul eax, dword [ebp - 0x90]
sub esi, edx
and esi, 1
neg esi
add eax, dword [ebp - 0x9c]
add esi, edi
add ecx, dword [ebp - 0x94]
test edx, edx
jbe 0x4d7d9b
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x8c], edi
mov edi, dword [ebp - 0xa0]
movsd xmm0, qword [eax + edi*8]
movsd qword [ecx + edi*8], xmm0
inc edi
cmp edi, edx
jb 0x4d7d86
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x178], esi
lea esi, [eax + edx*8]
test esi, 0xf
mov esi, dword [ebp - 0x178]
je 0x4d7dc3
movups xmm0, xmmword [eax + edx*8]
movups xmmword [ecx + edx*8], xmm0
add edx, 2
cmp edx, esi
jb 0x4d7db2
jmp 0x4d7dd2
movups xmm0, xmmword [eax + edx*8]
movups xmmword [ecx + edx*8], xmm0
add edx, 2
cmp edx, esi
jb 0x4d7dc3
cmp esi, edi
jae 0x4d7e09
mov edx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 0xa4]
imul edx, ecx
imul eax, ecx
add edx, dword [ebp - 0x9c]
add eax, dword [ebp - 0x94]
movsd xmm0, qword [edx + esi*8]
movsd qword [eax + esi*8], xmm0
inc esi
cmp esi, edi
jb 0x4d7dfa
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x90]
inc ecx
mov dword [ebp - 0x90], ecx
lea edx, [eax + edi*8]
mov dword [ebp - 0xb0], edx
cmp ecx, dword [ebp - 0x88]
jb 0x4d7c97
mov eax, dword [ebp - 0x174]
mov esp, eax
test byte [0x6c820c], 1
je 0x4d80f3
movzx ecx, byte [0x6c81ad]
and ecx, 1
shl ecx, 0x15
add ecx, 0x40000
push ecx
push 0x6c8200
mov eax, dword [0x6c8218]
mov edx, dword [0x6c8224]
push 0x6c81a0
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x9c], edx
call fcn.005d7540
add esp, 0xc
mov edi, dword [0x6c81cc]
mov eax, dword [0x6c822c]
cmp dword [ebp - 0x9c], 0
jle 0x4d41f8
mov edx, dword [0x6c81c8]
imul edi, edx
mov dword [ebp - 0x178], eax
mov eax, dword [0x6c8228]
mov dword [ebp - 0x8c], eax
mov eax, dword [0x6c81c0]
mov ecx, dword [0x6c81a0]
shl eax, 3
mov dword [ebp - 0x98], ecx
sub ecx, eax
sub eax, edi
add ecx, eax
mov eax, dword [ebp - 0x178]
add ecx, edi
imul eax, dword [0x6c8228]
mov edi, dword [0x6c8220]
mov esi, dword [0x6c8200]
shl edi, 3
mov dword [ebp - 0xa4], edx
mov edx, dword [ebp - 0x174]
mov dword [ebp - 0x90], esi
sub esi, edi
sub edi, eax
mov dword [ebp - 0x94], 0
add esi, edi
add esi, eax
shl edx, 3
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
mov ecx, dword [ebp - 0x174]
test ecx, ecx
jle 0x4d80cb
cmp ecx, 0xc
jle 0x4d7fa7
mov edi, dword [ebp - 0xb0]
mov esi, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xa4]
imul ecx, esi
mov eax, dword [ebp - 0xa0]
push dword [ebp - 0xac]
add ecx, dword [ebp - 0xa8]
lea edx, [eax + edi]
push edx
push ecx
call fcn.0062a530
add esp, 0xc
inc esi
add edi, dword [ebp - 0x8c]
cmp esi, dword [ebp - 0x9c]
jae 0x4d41f8
cmp dword [ebp - 0x174], 0xc
jg 0x4d7f51
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0x94], esi
mov ecx, dword [ebp - 0x174]
cmp ecx, 2
jl 0x4d8171
mov eax, dword [ebp - 0xa4]
imul eax, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
add edx, eax
and edx, 0xf
je 0x4d7fd8
test dl, 7
jne 0x4d8171
mov edx, 1
lea esi, [edx + 2]
cmp ecx, esi
jl 0x4d8171
mov esi, ecx
sub esi, edx
and esi, 1
neg esi
add esi, ecx
mov dword [ebp - 0x88], esi
mov esi, dword [ebp - 0x8c]
imul esi, dword [ebp - 0x94]
mov edi, dword [ebp - 0x90]
add eax, dword [ebp - 0x98]
mov dword [ebp - 0x84], esi
add edi, esi
mov dword [ebp - 0x80], edi
test edx, edx
jbe 0x4d803b
mov dword [ebp - 0x178], 0
mov esi, dword [ebp - 0x178]
movsd xmm0, qword [edi + esi*8]
movsd qword [eax + esi*8], xmm0
inc esi
cmp esi, edx
jb 0x4d802c
mov esi, dword [ebp - 0x84]
add esi, dword [ebp - 0xa0]
lea edi, [esi + edx*8]
test edi, 0xf
je 0x4d806c
mov esi, dword [ebp - 0x88]
mov edi, dword [ebp - 0x80]
movups xmm0, xmmword [edi + edx*8]
movups xmmword [eax + edx*8], xmm0
add edx, 2
cmp edx, esi
jb 0x4d805b
jmp 0x4d8084
mov esi, dword [ebp - 0x88]
mov edi, dword [ebp - 0x80]
movups xmm0, xmmword [edi + edx*8]
movups xmmword [eax + edx*8], xmm0
add edx, 2
cmp edx, esi
jb 0x4d8075
mov dword [ebp - 0x88], esi
cmp ecx, dword [ebp - 0x88]
jbe 0x4d80cb
mov edx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0x94]
mov eax, dword [ebp - 0x8c]
imul edx, esi
imul eax, esi
add edx, dword [ebp - 0x98]
add eax, dword [ebp - 0x90]
mov esi, dword [ebp - 0x88]
movsd xmm0, qword [eax + esi*8]
movsd qword [edx + esi*8], xmm0
inc esi
cmp esi, ecx
jb 0x4d80bc
mov eax, dword [ebp - 0x8c]
lea esi, [ebp - 0x94]
mov edx, dword [esi]
inc edx
add dword [ebp - 0xb0], eax
mov dword [esi], edx
cmp edx, dword [ebp - 0x9c]
jb 0x4d7f38
jmp 0x4d41f8
mov esi, dword [0x6c81ac]
test esi, 1
je 0x4d41f8
mov edi, esi
mov eax, esi
shr edi, 1
mov edx, esi
shr edx, 0xb
and edi, 1
and eax, 1
mov ecx, esi
shl edi, 2
add eax, eax
shr ecx, 8
and edx, 1
shl edx, 8
or edi, eax
and ecx, 1
or edi, edx
shl ecx, 0x15
or edi, ecx
add edi, 0x40000
push edi
push dword [0x6c81a0]
call fcn.005c1250
add esp, 8
and esi, 0xfffff7fe
mov dword [0x6c81a0], 0
mov dword [0x6c81ac], esi
jmp 0x4d41f8
mov dword [ebp - 0x14c], 0
jmp 0x4d6540
mov dword [ebp - 0x88], 0
jmp 0x4d808a
xor esi, esi
jmp 0x4d7dd2
xor eax, eax
jmp 0x4d7b0c
cmp edx, 4
jl 0x4d81e1
mov ecx, edx
xor eax, eax
mov dword [ebp - 0x8c], edi
and ecx, 0xfffffffc
mov edi, dword [ebp - 0x9c]
pxor xmm0, xmm0
movups xmmword [edi + eax*8], xmm0
movups xmmword [edi + eax*8 + 0x10], xmm0
add eax, 4
cmp eax, ecx
jb 0x4d81aa
mov edi, dword [ebp - 0x8c]
cmp ecx, edx
jae 0x4d7878
mov eax, dword [ebp - 0x9c]
pxor xmm0, xmm0
movsd qword [eax + ecx*8], xmm0
inc ecx
cmp ecx, edx
jb 0x4d81d2
jmp 0x4d7878
xor ecx, ecx
jmp 0x4d81c0
xor eax, eax
jmp 0x4d77dd
mov dword [ebp - 0xf8], 0
jmp 0x4d761b
xor eax, eax
jmp 0x4d731c
imul edx, esi
cmp edx, 4
jl 0x4d824c
mov eax, edx
xor ecx, ecx
mov edi, dword [ebp - 0x10c]
and eax, 0xfffffffc
pxor xmm0, xmm0
movups xmmword [edi + ecx*8], xmm0
movups xmmword [edi + ecx*8 + 0x10], xmm0
add ecx, 4
cmp ecx, eax
jb 0x4d821b
cmp eax, edx
jae 0x4d7078
mov ecx, dword [ebp - 0x10c]
pxor xmm0, xmm0
movsd qword [ecx + eax*8], xmm0
inc eax
cmp eax, edx
jb 0x4d823d
jmp 0x4d7078
xor eax, eax
jmp 0x4d822b
xor esi, esi
jmp 0x4d6fbf
mov edx, 1
jmp 0x4d6d8d
mov edx, 1
jmp 0x4d6c3c
mov esi, 1
jmp 0x4d6aee
mov esi, 1
jmp 0x4d69ee
push 0x36
push str.Unrealisable_Transformer_Leakage_or_Copper_loss_Values
push 0x681658
push 0x68165c
push 0x76e2e8
push 0x76e2e0
movsd qword [ebp - 0x178], xmm0
call fcn.0053e690
movsd xmm1, qword [0x681880]
add esp, 0x18
movsd xmm0, qword [ebp - 0x178]
push 0xc
push 0x681660
push 0x6e3448
movsd qword [ebp - 0x178], xmm0
call fcn.00471080
movsd xmm1, qword [0x681880]
add esp, 0xc
movsd xmm0, qword [ebp - 0x178]
mov edi, dword [0x6c81d0]
mov esi, dword [0x6c81f0]
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x164], edi
mov edx, dword [0x6c81f8]
mov dword [ebp - 0x130], edx
lea ecx, [edi + eax*8]
imul eax, edx
lea edi, [esi*8]
mov dword [ebp - 0x168], edi
mov edi, dword [0x6c81fc]
imul edi, edx
mov dword [ebp - 0x15c], ecx
lea edx, [edi + esi*8]
mov dword [ebp - 0x16c], edi
add ecx, eax
mov dword [ebp - 0x160], edx
sub ecx, edx
jmp 0x4d682f
mov dword [ebp - 0x170], 0
jmp 0x4d673c
mov edi, esi
mov eax, esi
shr edi, 1
mov edx, esi
shr edx, 0xb
and edi, 1
and eax, 1
mov ecx, esi
shl edi, 2
add eax, eax
shr ecx, 8
and edx, 1
shl edx, 8
or edi, eax
and ecx, 1
or edi, edx
shl ecx, 0x15
or edi, ecx
add edi, 0x40000
push edi
push dword [0x6c81d0]
call fcn.005c1250
add esp, 8
and esi, 0xfffff7fe
mov dword [0x6c81d0], 0
mov dword [0x6c81dc], esi
mov edx, dword [0x6c81f8]
jmp 0x4d65c4
xor edi, edi
jmp 0x4d6276
xor esi, esi
jmp 0x4d5fb6
mov edx, esi
imul edx, edi
cmp edx, 4
jl 0x4d841c
mov ecx, edx
xor eax, eax
mov dword [ebp - 0x14c], esi
and ecx, 0xfffffffc
mov esi, dword [ebp - 0x154]
pxor xmm0, xmm0
movups xmmword [esi + eax*8], xmm0
movups xmmword [esi + eax*8 + 0x10], xmm0
add eax, 4
cmp eax, ecx
jb 0x4d83e5
mov esi, dword [ebp - 0x14c]
cmp ecx, edx
jae 0x4d5d4c
mov eax, dword [ebp - 0x154]
pxor xmm0, xmm0
movsd qword [eax + ecx*8], xmm0
inc ecx
cmp ecx, edx
jb 0x4d840d
jmp 0x4d5d4c
xor ecx, ecx
jmp 0x4d83fb
xor esi, esi
jmp 0x4d19c6
xor esi, esi
jmp 0x4d17eb
xor ecx, ecx
jmp 0x4d1610
xor ecx, ecx
jmp 0x4d146e
xor eax, eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x12c], 0xffffffff
jmp 0x4d1313
mov eax, edx
mov edx, dword [ebp - 0x7c]
imul edx, eax
mov edi, dword [ebp - 0x80]
mov esi, edi
mov dword [ebp - 0x28], edx
imul esi, eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x7c]
imul edi, edx
imul eax, edx
jmp 0x4d44c2
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x7c]
imul edx, eax
mov edi, dword [ebp - 0x80]
mov esi, edi
mov dword [ebp - 0x28], edx
imul esi, eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x7c]
imul edi, edx
imul eax, edx
jmp 0x4d44c2