Function at 0x4bf900
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, 0xfec
movq xmm0, qword [0x681850]
movq xmm1, qword [0x681858]
mov dword [esp], 0x6e3140
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], str.DSMINT
movq qword [esp + 0x10], xmm1
mov dword [esp + 0x18], 0
call fcn.005b4070
add esp, 0x1c
xor eax, eax
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x49c], eax
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x4a8], eax
mov dword [ebp - 0x4bc], eax
movdqu xmm3, xmmword [0x681740]
mov dword [ebp - 0x4b8], eax
mov dword [ebp - 0x4b4], eax
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0x2b4], eax
call fcn.004e32e0
add esp, 0xffffffe0
movq xmm0, qword [0x681860]
movq xmm1, qword [0x681868]
movq xmm2, qword [0x681870]
mov dword [esp], 0x81e680
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x6818f8
movq qword [esp + 0x10], xmm1
movq qword [esp + 0x18], xmm2
call fcn.005b4100
add esp, 0x20
test eax, eax
jne 0x4c14e9
push 0x120
xor ecx, ecx
lea eax, [ebp - 0x4c0]
push eax
push 0x681320
push 0x8384ff03
push dword [0x81e9a8]
mov dword [ebp - 0x1e0], ecx
lea edx, [ebp - 0x928]
push edx
mov dword [eax + 0x2c], ecx
lea esi, [ebp - 0x4c4]
mov dword [edx], ecx
mov dword [eax], esi
call fcn.005c6ec0
add esp, 0x18
test eax, eax
jne 0x4bfa7f
lea edx, [ebp - 0x5a0]
push edx
push 0x681328
lea ecx, [ebp - 0x928]
push ecx
lea eax, [ebp - 0x1e0]
mov dword [edx], eax
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4bfa7f
lea edx, [ebp - 0x820]
push edx
push 0x681330
lea ecx, [ebp - 0x928]
push ecx
lea eax, [ebp - 0x494]
mov dword [edx], eax
call fcn.005c8930
add esp, 0xc
cmp eax, 0xffffffff
je 0x4c14f3
test eax, eax
jg 0x4c1449
mov eax, dword [ebp - 0x4c4]
mov dword [ebp - 0x10], eax
cmp eax, 0x378
je 0x4c8759
cmp dword [ebp - 0x1e0], 1
je 0x4c8737
cmp dword [ebp - 0x10], 0
jl 0x4bfac1
xor esi, esi
mov dword [ebp - 0x498], esi
jmp 0x4bfad8
xor esi, esi
neg eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x4c4], eax
mov dword [ebp - 0x498], 0xffffffff
mov eax, dword [0x76e588]
inc eax
mov dword [0x76e588], eax
cmp eax, dword [0x81eb10]
jle 0x4bfb74
push 0x81e9a8
push 0x48
lea eax, [ebp - 0xd68]
push eax
call fcn.004e7ac0
add esp, 0xc
movups xmm0, xmmword [ebp - 0xd68]
movups xmm1, xmmword [ebp - 0xd58]
movups xmm2, xmmword [ebp - 0xd48]
movups xmm3, xmmword [ebp - 0xd38]
movsd xmm4, qword [ebp - 0xd28]
movups xmmword [0x81e6e0], xmm0
movups xmmword [0x81e6f0], xmm1
movups xmmword [0x81e700], xmm2
movups xmmword [0x81e710], xmm3
movsd qword [0x81e720], xmm4
push 0x48
push 0x81e6e0
mov eax, 0x76e5b0
mov edx, 0x681338
push eax
push eax
push edx
push edx
push 0x81eb10
push 0x68133c
call fcn.004e7b00
add esp, 0x20
mov edx, dword [0x6c8254]
mov ecx, dword [0x6c825c]
test edx, edx
jle 0x4bfcf7
mov eax, dword [0x6c8248]
mov edi, eax
and edi, 0xfffffffc
mov dword [ebp - 0x180], edi
lea edi, [eax*8]
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x198], edi
mov dword [ebp - 0x358], ecx
mov dword [ebp - 0x54c], esi
mov dword [ebp - 0x1a4], edx
mov dword [ebp - 0x18c], ecx
test eax, eax
jle 0x4bfcd4
mov edx, dword [0x6c8230]
mov dword [ebp - 0x190], edx
cmp eax, 0xc
jle 0x4bfc4b
mov dword [ebp - 0x360], eax
mov edi, dword [ebp - 0x358]
mov esi, dword [ebp - 0x184]
mov eax, dword [ebp - 0x18c]
neg eax
add eax, edi
imul eax, dword [0x6c8258]
push dword [ebp - 0x198]
push 0
add eax, edx
push eax
call fcn.0062a5e0
add esp, 0xc
inc esi
inc edi
cmp esi, dword [ebp - 0x1a4]
jae 0x4bfcf1
mov edx, dword [0x6c8230]
cmp dword [ebp - 0x360], 0xc
jg 0x4bfbf2
mov dword [ebp - 0x190], edx
mov dword [ebp - 0x358], edi
mov dword [ebp - 0x184], esi
mov eax, dword [ebp - 0x360]
cmp eax, 4
jl 0x4c8730
mov esi, dword [ebp - 0x18c]
mov edi, dword [ebp - 0x184]
mov edx, esi
neg edx
pxor xmm0, xmm0
mov dword [ebp - 0x188], 0
mov ecx, dword [ebp - 0x180]
add esi, edi
add edx, esi
mov edi, ecx
imul edx, dword [0x6c8258]
add edx, dword [ebp - 0x190]
mov esi, dword [ebp - 0x188]
movups xmmword [edx + esi*8], xmm0
movups xmmword [edx + esi*8 + 0x10], xmm0
add esi, 4
cmp esi, edi
jb 0x4bfc91
cmp ecx, eax
jae 0x4bfcd4
mov esi, dword [ebp - 0x18c]
mov edi, dword [ebp - 0x184]
mov edx, esi
neg edx
pxor xmm0, xmm0
add esi, edi
add edx, esi
imul edx, dword [0x6c8258]
add edx, dword [ebp - 0x190]
movsd qword [edx + ecx*8], xmm0
inc ecx
cmp ecx, eax
jb 0x4bfcca
lea ecx, [ebp - 0x184]
mov edx, dword [ecx]
inc edx
inc dword [ebp - 0x358]
mov dword [ecx], edx
cmp edx, dword [ebp - 0x1a4]
jb 0x4bfbc7
mov esi, dword [ebp - 0x54c]
mov ecx, dword [0x6c5f68]
test ecx, ecx
jle 0x4bfd1f
mov edx, dword [0x6c5f50]
cmp ecx, 0xc
jle 0x4c86f1
shl ecx, 3
push ecx
push 0
push edx
call fcn.0062a5e0
add esp, 0xc
mov edx, dword [0x6c8284]
mov ecx, dword [0x6c828c]
test edx, edx
jle 0x4bfea2
mov eax, dword [0x6c8278]
mov edi, eax
and edi, 0xfffffffc
mov dword [ebp - 0x1a8], edi
lea edi, [eax*8]
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x194], edi
mov dword [ebp - 0x354], ecx
mov dword [ebp - 0x54c], esi
mov dword [ebp - 0x1a0], edx
mov dword [ebp - 0x19c], ecx
test eax, eax
jle 0x4bfe7f
mov edx, dword [0x6c8260]
mov dword [ebp - 0x1b4], edx
cmp eax, 0xc
jle 0x4bfdf6
mov dword [ebp - 0x35c], eax
mov edi, dword [ebp - 0x354]
mov esi, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x19c]
neg eax
add eax, edi
imul eax, dword [0x6c8288]
push dword [ebp - 0x194]
push 0
add eax, edx
push eax
call fcn.0062a5e0
add esp, 0xc
inc esi
inc edi
cmp esi, dword [ebp - 0x1a0]
jae 0x4bfe9c
mov edx, dword [0x6c8260]
cmp dword [ebp - 0x35c], 0xc
jg 0x4bfd9d
mov dword [ebp - 0x1b4], edx
mov dword [ebp - 0x354], edi
mov dword [ebp - 0x1ac], esi
mov eax, dword [ebp - 0x35c]
cmp eax, 4
jl 0x4c86ea
mov esi, dword [ebp - 0x19c]
mov edi, dword [ebp - 0x1ac]
mov edx, esi
neg edx
pxor xmm0, xmm0
mov dword [ebp - 0x1b0], 0
mov ecx, dword [ebp - 0x1a8]
add esi, edi
add edx, esi
mov edi, ecx
imul edx, dword [0x6c8288]
add edx, dword [ebp - 0x1b4]
mov esi, dword [ebp - 0x1b0]
movups xmmword [edx + esi*8], xmm0
movups xmmword [edx + esi*8 + 0x10], xmm0
add esi, 4
cmp esi, edi
jb 0x4bfe3c
cmp ecx, eax
jae 0x4bfe7f
mov esi, dword [ebp - 0x19c]
mov edi, dword [ebp - 0x1ac]
mov edx, esi
neg edx
pxor xmm0, xmm0
add esi, edi
add edx, esi
imul edx, dword [0x6c8288]
add edx, dword [ebp - 0x1b4]
movsd qword [edx + ecx*8], xmm0
inc ecx
cmp ecx, eax
jb 0x4bfe75
lea ecx, [ebp - 0x1ac]
mov edx, dword [ecx]
inc edx
inc dword [ebp - 0x354]
mov dword [ecx], edx
cmp edx, dword [ebp - 0x1a0]
jb 0x4bfd72
mov esi, dword [ebp - 0x54c]
cmp dword [ebp - 0x10], 0
jle 0x4c86ac
mov ecx, dword [ebp - 0x498]
mov edi, ecx
mov eax, esi
or esi, ecx
mov edx, dword [ebp - 0x10]
and edi, 1
and eax, 1
and edx, 0xfffffff8
and esi, 1
mov dword [ebp - 0x2c8], 1
mov dword [ebp - 0x54c], esi
mov dword [ebp - 0x544], edx
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x90], edi
jmp 0x4bfef1
mov dword [ebp - 0x2c8], ecx
call fcn.004e32e0
add esp, 0xffffffe0
movq xmm0, qword [0x681860]
movq xmm1, qword [0x681868]
movq xmm2, qword [0x681870]
mov dword [esp], 0x81e680
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x681908
movq qword [esp + 0x10], xmm1
movq qword [esp + 0x18], xmm2
call fcn.005b4100
add esp, 0x20
test eax, eax
jne 0x4c8655
cmp dword [ebp - 0x250], 0
je 0x4c0073
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0x4e0]
push eax
push 0x681340
push 0x8384ff03
push dword [0x81e9a8]
lea edx, [ebp - 0x928]
push edx
lea ecx, [ebp - 0x2c4]
mov dword [eax], ecx
call fcn.005c6ec0
add esp, 0x18
test eax, eax
jne 0x4c005d
lea edx, [ebp - 0x688]
push edx
push 0x681348
lea ecx, [ebp - 0x928]
push ecx
lea eax, [ebp - 0x2c0]
mov dword [edx], eax
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c005d
mov esi, dword [0x76e588]
lea edi, [ebp - 0x950]
sub esi, dword [0x6c867c]
mov edx, dword [ebp - 0x2c8]
imul esi, dword [0x6c8678]
sub edx, dword [0x6c8670]
mov eax, dword [0x6c8650]
push edi
push 0x681350
mov dword [edi], 8
lea ecx, [eax + edx*8]
add esi, ecx
lea eax, [ebp - 0x928]
push eax
mov dword [eax - 0x24], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c005d
mov esi, dword [0x76e588]
lea edi, [ebp - 0xa88]
sub esi, dword [0x6c8624]
mov edx, dword [ebp - 0x2c8]
imul esi, dword [0x6c8620]
sub edx, dword [0x6c8618]
mov eax, dword [0x6c85f8]
push edi
push 0x681358
mov dword [edi], 8
lea ecx, [eax + edx*8]
add esi, ecx
lea eax, [ebp - 0x928]
push eax
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
cmp eax, 0xffffffff
je 0x4c14f3
test eax, eax
jg 0x4c1449
jmp 0x4c0be3
cmp dword [ebp - 0x90], 0
je 0x4c0362
cmp dword [ebp - 0x1e0], 0
jne 0x4c0362
cmp dword [ebp - 0x494], 0
jne 0x4c018e
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0x930]
push eax
push 0x681360
push 0x8384ff03
push dword [0x81e9a8]
lea edx, [ebp - 0x928]
push edx
lea ecx, [ebp - 0x2c4]
mov dword [eax], ecx
call fcn.005c6ec0
add esp, 0x18
test eax, eax
jne 0x4c0178
lea edx, [ebp - 0xa70]
push edx
push 0x681368
lea ecx, [ebp - 0x928]
push ecx
lea eax, [ebp - 0x2c0]
mov dword [edx], eax
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c0178
mov esi, dword [0x6c825c]
mov edx, 1
neg esi
mov eax, dword [ebp - 0x2c8]
add esi, eax
mov ecx, dword [0x6c8250]
test eax, eax
mov edi, dword [0x6c8230]
mov dword [ebp - 0xd80], edx
mov dword [ebp - 0xd78], edx
mov edx, 0
cmovl eax, edx
shl ecx, 3
imul esi, dword [0x6c8258]
sub edi, ecx
mov dword [ebp - 0xd74], eax
lea eax, [ebp - 0xd80]
push eax
push 0x681370
mov dword [eax + 0x10], 8
lea ecx, [esi + edi + 8]
mov dword [eax + 4], ecx
lea esi, [ebp - 0x928]
push esi
call fcn.005c8930
add esp, 0xc
cmp eax, 0xffffffff
je 0x4c14f3
test eax, eax
jg 0x4c1449
jmp 0x4c0be3
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0x908]
push eax
push 0x681378
push 0x8384ff03
push dword [0x81e9a8]
lea edx, [ebp - 0x928]
push edx
lea ecx, [ebp - 0x2c4]
mov dword [eax], ecx
call fcn.005c6ec0
add esp, 0x18
test eax, eax
jne 0x4c01f2
lea edx, [ebp - 0xa68]
push edx
push 0x681380
lea ecx, [ebp - 0x928]
push ecx
lea eax, [ebp - 0x2c0]
mov dword [edx], eax
call fcn.005c8930
add esp, 0xc
cmp eax, 0xffffffff
je 0x4c14f3
test eax, eax
jg 0x4c1449
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [0x6c825c]
mov esi, dword [0x6c8258]
imul ecx, esi
imul esi, eax
mov edi, dword [0x6c8250]
mov edx, dword [0x6c8230]
mov dword [ebp - 0x948], ecx
lea ecx, [edi*8]
mov dword [ebp - 0x954], esi
test eax, eax
jle 0x4c1519
cmp eax, 8
jl 0x4c14ff
add esi, edx
mov dword [ebp - 0x95c], esi
sub esi, dword [ebp - 0x948]
sub esi, ecx
add esi, 8
and esi, 0xf
je 0x4c0274
test esi, 7
jne 0x4c14ff
mov esi, 1
lea ecx, [esi + 8]
cmp eax, ecx
jl 0x4c14ff
mov ecx, eax
sub ecx, esi
and ecx, 7
neg ecx
add ecx, eax
mov dword [ebp - 0x960], ecx
mov ecx, edi
mov edi, dword [ebp - 0x948]
lea ecx, [edi + ecx*8]
sub dword [ebp - 0x95c], ecx
test esi, esi
jbe 0x4c02da
mov dword [ebp - 0x968], 0
mov dword [ebp - 0x964], eax
movsd xmm0, qword [0x681818]
mov eax, dword [ebp - 0x968]
mov edi, dword [ebp - 0x95c]
movsd qword [edi + eax*8 + 8], xmm0
inc eax
cmp eax, esi
jb 0x4c02c9
mov eax, dword [ebp - 0x964]
mov dword [ebp - 0x964], eax
movups xmm0, xmmword [0x681790]
mov eax, dword [ebp - 0x960]
mov edi, dword [ebp - 0x95c]
movups xmmword [edi + esi*8 + 8], xmm0
movups xmmword [edi + esi*8 + 0x18], xmm0
movups xmmword [edi + esi*8 + 0x28], xmm0
movups xmmword [edi + esi*8 + 0x38], xmm0
add esi, 8
cmp esi, eax
jb 0x4c02f3
mov dword [ebp - 0x960], eax
mov eax, dword [ebp - 0x964]
cmp eax, dword [ebp - 0x960]
jbe 0x4c0345
mov esi, dword [ebp - 0x954]
mov edi, dword [ebp - 0x960]
movsd xmm0, qword [0x681818]
add esi, edx
sub esi, ecx
movsd qword [esi + edi*8 + 8], xmm0
inc edi
cmp edi, eax
jb 0x4c033a
pxor xmm0, xmm0
lea eax, [edx + eax*8]
cvtsi2sd xmm0, dword [ebp - 0x10]
add eax, dword [ebp - 0x954]
sub eax, ecx
movsd qword [eax], xmm0
jmp 0x4c0be3
mov edi, dword [ebp - 0x2c8]
cmp dword [ebp - 0x494], 0
lea esi, [edi + edi]
jne 0x4c0445
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0x550]
push eax
push 0x681388
push 0x8384ff03
push dword [0x81e9a8]
lea edx, [ebp - 0x928]
push edx
lea ecx, [ebp - 0x2c4]
mov dword [eax], ecx
call fcn.005c6ec0
add esp, 0x18
test eax, eax
jne 0x4c042f
lea edx, [ebp - 0x810]
push edx
push 0x681390
lea ecx, [ebp - 0x928]
push ecx
lea eax, [ebp - 0x2c0]
mov dword [edx], eax
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c042f
xor edi, edi
test esi, esi
mov eax, dword [0x6c5f70]
cmovs esi, edi
mov ecx, 1
mov dword [ebp - 0xab4], esi
lea esi, [ebp - 0xac0]
shl eax, 3
push esi
mov edx, dword [0x6c5f50]
push 0x681398
sub edx, eax
lea eax, [ebp - 0x928]
push eax
add edx, 8
mov dword [esi], ecx
mov dword [esi + 4], edx
mov dword [esi + 8], ecx
mov dword [esi + 0x10], 8
call fcn.005c8930
add esp, 0xc
cmp eax, 0xffffffff
je 0x4c14f3
test eax, eax
jg 0x4c1449
jmp 0x4c0be3
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0x548]
push eax
push 0x6813a0
push 0x8384ff03
push dword [0x81e9a8]
lea edx, [ebp - 0x928]
push edx
lea ecx, [ebp - 0x2c4]
mov dword [eax], ecx
call fcn.005c6ec0
add esp, 0x18
test eax, eax
jne 0x4c04a9
lea edx, [ebp - 0x808]
push edx
push 0x6813a8
lea ecx, [ebp - 0x928]
push ecx
lea eax, [ebp - 0x2c0]
mov dword [edx], eax
call fcn.005c8930
add esp, 0xc
cmp eax, 0xffffffff
je 0x4c14f3
test eax, eax
jg 0x4c1449
cmp esi, 2
jl 0x4c0be3
mov eax, dword [0x6c5f70]
mov edx, dword [0x6c5f50]
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x21c], edx
cmp dword [ebp - 0x90], 0
je 0x4c0875
mov eax, esi
shr eax, 0x1f
lea ecx, [eax + edi*2]
sar ecx, 1
cmp ecx, 8
jl 0x4c1538
mov edi, dword [ebp - 0x214]
mov edx, ecx
movd xmm0, esi
and edx, 0xfffffff8
pshufd xmm1, xmm0, 0
xor eax, eax
shl edi, 3
neg edi
pxor xmm0, xmm0
add edi, dword [ebp - 0x21c]
mov dword [ebp - 0x218], edx
movdqu xmm2, xmmword [0x681750]
movups xmm3, xmmword [0x6817a0]
unpckhpd xmm0, xmmword [0x681790]
mov dword [ebp - 0x690], ecx
mov dword [ebp - 0x210], edi
mov dword [ebp - 0x364], esi
movdqu xmm4, xmmword [0x681740]
mov edx, eax
mov edi, dword [ebp - 0x10]
movdqa xmm7, xmm2
cvtsi2sd xmm5, edi
mov ecx, dword [ebp - 0x210]
pcmpeqd xmm7, xmm1
mov dword [ebp - 0x1f0], eax
lea eax, [eax + eax + 2]
sub eax, dword [ebp - 0x214]
paddd xmm2, xmm4
mov esi, dword [ebp - 0x21c]
movups xmmword [edx + ecx + 8], xmm3
movups xmmword [edx + ecx + 0x18], xmm0
unpcklpd xmm5, xmm5
movsd xmm6, qword [esi + eax*8]
movhpd xmm6, qword [esi + eax*8 + 0x10]
punpckldq xmm7, xmm7
andps xmm5, xmm7
andnps xmm7, xmm6
cvtsi2sd xmm6, edi
mov edi, dword [ebp - 0x1f0]
orps xmm5, xmm7
movsd qword [esi + eax*8], xmm5
movdqa xmm7, xmm1
movhpd qword [esi + eax*8 + 0x10], xmm5
pcmpeqd xmm7, xmm2
movups xmmword [edx + ecx + 0x28], xmm3
movups xmmword [edx + ecx + 0x38], xmm0
unpcklpd xmm6, xmm6
lea eax, [edi + edi + 6]
mov edi, dword [ebp - 0x214]
sub eax, edi
punpckldq xmm7, xmm7
paddd xmm2, xmm4
andps xmm6, xmm7
movsd xmm5, qword [esi + eax*8]
movhpd xmm5, qword [esi + eax*8 + 0x10]
andnps xmm7, xmm5
orps xmm6, xmm7
movdqa xmm7, xmm1
movsd qword [esi + eax*8], xmm6
pcmpeqd xmm7, xmm2
movhpd qword [esi + eax*8 + 0x10], xmm6
paddd xmm2, xmm4
mov eax, dword [ebp - 0x1f0]
cvtsi2sd xmm5, dword [ebp - 0x10]
movups xmmword [edx + ecx + 0x48], xmm3
movups xmmword [edx + ecx + 0x58], xmm0
unpcklpd xmm5, xmm5
lea eax, [eax + eax + 0xa]
sub eax, edi
punpckldq xmm7, xmm7
andps xmm5, xmm7
movsd xmm6, qword [esi + eax*8]
movhpd xmm6, qword [esi + eax*8 + 0x10]
andnps xmm7, xmm6
orps xmm5, xmm7
movdqa xmm7, xmm1
movsd qword [esi + eax*8], xmm5
pcmpeqd xmm7, xmm2
movhpd qword [esi + eax*8 + 0x10], xmm5
paddd xmm2, xmm4
mov eax, dword [ebp - 0x1f0]
cvtsi2sd xmm6, dword [ebp - 0x10]
movups xmmword [edx + ecx + 0x68], xmm3
movups xmmword [edx + ecx + 0x78], xmm0
unpcklpd xmm6, xmm6
lea ecx, [eax + eax + 0xe]
sub ecx, edi
add eax, 8
punpckldq xmm7, xmm7
add edx, 0x80
andps xmm6, xmm7
movsd xmm5, qword [esi + ecx*8]
movhpd xmm5, qword [esi + ecx*8 + 0x10]
andnps xmm7, xmm5
orps xmm6, xmm7
movsd qword [esi + ecx*8], xmm6
movhpd qword [esi + ecx*8 + 0x10], xmm6
cmp eax, dword [ebp - 0x218]
jb 0x4c0558
mov ecx, dword [ebp - 0x690]
mov edx, dword [ebp - 0x218]
mov esi, dword [ebp - 0x364]
lea eax, [edx + 1]
cmp eax, ecx
ja 0x4c0be3
sub ecx, edx
cmp ecx, 2
jl 0x4c1529
mov eax, dword [ebp - 0x214]
lea edi, [edx + edx + 2]
mov dword [ebp - 0x690], ecx
and ecx, 0xfffffffe
mov dword [ebp - 0x20c], ecx
mov ecx, edx
shl ecx, 4
shl eax, 3
movd xmm2, edi
add edi, 2
neg eax
movd xmm3, esi
add eax, dword [ebp - 0x21c]
pxor xmm1, xmm1
add eax, ecx
movd xmm0, edi
xor edi, edi
punpckldq xmm2, xmm0
pxor xmm0, xmm0
mov dword [ebp - 0x1f8], eax
punpcklqdq xmm2, xmm1
pshufd xmm1, xmm3, 0
movups xmm3, xmmword [0x6817a0]
unpckhpd xmm0, xmmword [0x681790]
mov eax, edi
mov dword [ebp - 0x364], esi
movdqu xmm4, xmmword [0x681740]
nop word [eax + eax]
pxor xmm5, xmm5
lea esi, [edi + edi]
mov ecx, dword [ebp - 0x1f8]
lea esi, [esi + edx*2 + 2]
cvtsi2sd xmm5, dword [ebp - 0x10]
movups xmmword [eax + ecx + 8], xmm3
movups xmmword [eax + ecx + 0x18], xmm0
movdqa xmm7, xmm2
add edi, 2
sub esi, dword [ebp - 0x214]
pcmpeqd xmm7, xmm1
mov ecx, dword [ebp - 0x21c]
add eax, 0x20
unpcklpd xmm5, xmm5
paddd xmm2, xmm4
punpckldq xmm7, xmm7
movsd xmm6, qword [ecx + esi*8]
andps xmm5, xmm7
movhpd xmm6, qword [ecx + esi*8 + 0x10]
andnps xmm7, xmm6
orps xmm5, xmm7
movsd qword [ecx + esi*8], xmm5
movhpd qword [ecx + esi*8 + 0x10], xmm5
cmp edi, dword [ebp - 0x20c]
jb 0x4c0760
mov ecx, dword [ebp - 0x690]
mov esi, dword [ebp - 0x364]
mov edi, dword [ebp - 0x20c]
mov eax, edi
shl eax, 4
mov dword [ebp - 0x5f8], eax
cmp edi, ecx
jae 0x4c0be3
mov edi, dword [ebp - 0x214]
shl edi, 3
pxor xmm1, xmm1
mov eax, dword [ebp - 0x21c]
sub eax, edi
mov edi, edx
shl edi, 4
add eax, edi
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x218], edx
mov dword [ebp - 0x364], esi
movsd xmm0, qword [0x681818]
mov esi, eax
mov edx, dword [ebp - 0x5f8]
mov eax, dword [ebp - 0x20c]
mov edi, dword [ebp - 0x218]
movsd qword [edx + esi + 8], xmm1
lea edi, [edi + edi + 2]
lea edi, [edi + eax*2]
cmp edi, dword [ebp - 0x364]
jne 0x4c0862
pxor xmm2, xmm2
cvtsi2sd xmm2, dword [ebp - 0x10]
movsd qword [edx + esi + 0x10], xmm2
jmp 0x4c0868
movsd qword [edx + esi + 0x10], xmm0
inc eax
add edx, 0x10
cmp eax, ecx
jb 0x4c0836
jmp 0x4c0be3
mov eax, esi
shr eax, 0x1f
lea edx, [eax + edi*2]
sar edx, 1
cmp edx, 8
jl 0x4c864e
mov edi, dword [ebp - 0x214]
mov ecx, edx
movd xmm0, esi
and ecx, 0xfffffff8
pshufd xmm1, xmm0, 0
xor eax, eax
shl edi, 3
neg edi
pxor xmm0, xmm0
add edi, dword [ebp - 0x21c]
mov dword [ebp - 0x204], ecx
movdqu xmm2, xmmword [0x681750]
movups xmm3, xmmword [0x6817c0]
unpckhpd xmm0, xmmword [0x6817b0]
mov dword [ebp - 0x208], edx
mov dword [ebp - 0x200], edi
mov dword [ebp - 0x364], esi
movdqu xmm4, xmmword [0x681740]
mov ecx, eax
mov esi, dword [ebp - 0x200]
lea edx, [eax + eax + 2]
sub edx, dword [ebp - 0x214]
movdqa xmm6, xmm2
mov edi, dword [ebp - 0x21c]
pcmpeqd xmm6, xmm1
movups xmmword [ecx + esi + 8], xmm3
movups xmmword [ecx + esi + 0x18], xmm0
punpckldq xmm6, xmm6
paddd xmm2, xmm4
movsd xmm5, qword [edi + edx*8]
movhpd xmm5, qword [edi + edx*8 + 0x10]
movups xmm7, xmmword [0x6817d0]
andps xmm7, xmm6
andnps xmm6, xmm5
orps xmm7, xmm6
movdqa xmm6, xmm1
mov dword [ebp - 0x1ec], eax
lea eax, [eax + eax + 6]
movsd qword [edi + edx*8], xmm7
pcmpeqd xmm6, xmm2
movhpd qword [edi + edx*8 + 0x10], xmm7
paddd xmm2, xmm4
mov edx, dword [ebp - 0x214]
sub eax, edx
movups xmmword [ecx + esi + 0x28], xmm3
movups xmmword [ecx + esi + 0x38], xmm0
punpckldq xmm6, xmm6
movsd xmm5, qword [edi + eax*8]
movhpd xmm5, qword [edi + eax*8 + 0x10]
movups xmm7, xmmword [0x6817d0]
andps xmm7, xmm6
andnps xmm6, xmm5
orps xmm7, xmm6
movdqa xmm6, xmm1
movsd qword [edi + eax*8], xmm7
pcmpeqd xmm6, xmm2
movhpd qword [edi + eax*8 + 0x10], xmm7
paddd xmm2, xmm4
mov eax, dword [ebp - 0x1ec]
movups xmmword [ecx + esi + 0x48], xmm3
movups xmmword [ecx + esi + 0x58], xmm0
punpckldq xmm6, xmm6
lea eax, [eax + eax + 0xa]
sub eax, edx
movups xmm7, xmmword [0x6817d0]
andps xmm7, xmm6
movsd xmm5, qword [edi + eax*8]
movhpd xmm5, qword [edi + eax*8 + 0x10]
andnps xmm6, xmm5
orps xmm7, xmm6
movdqa xmm6, xmm1
movsd qword [edi + eax*8], xmm7
pcmpeqd xmm6, xmm2
movhpd qword [edi + eax*8 + 0x10], xmm7
paddd xmm2, xmm4
mov eax, dword [ebp - 0x1ec]
movups xmmword [ecx + esi + 0x68], xmm3
movups xmmword [ecx + esi + 0x78], xmm0
punpckldq xmm6, xmm6
lea esi, [eax + eax + 0xe]
sub esi, edx
add eax, 8
movups xmm7, xmmword [0x6817d0]
add ecx, 0x80
andps xmm7, xmm6
movsd xmm5, qword [edi + esi*8]
movhpd xmm5, qword [edi + esi*8 + 0x10]
andnps xmm6, xmm5
orps xmm7, xmm6
movsd qword [edi + esi*8], xmm7
movhpd qword [edi + esi*8 + 0x10], xmm7
cmp eax, dword [ebp - 0x204]
jb 0x4c08e6
mov edx, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
mov esi, dword [ebp - 0x364]
lea eax, [ecx + 1]
cmp eax, edx
ja 0x4c0be3
sub edx, ecx
cmp edx, 2
jl 0x4c863f
mov eax, dword [ebp - 0x214]
lea edi, [ecx + ecx + 2]
mov dword [ebp - 0x208], edx
and edx, 0xfffffffe
mov dword [ebp - 0x1fc], edx
mov edx, ecx
shl edx, 4
shl eax, 3
movd xmm3, edi
add edi, 2
neg eax
movd xmm2, esi
add eax, dword [ebp - 0x21c]
pxor xmm1, xmm1
add eax, edx
movd xmm0, edi
xor edi, edi
punpckldq xmm3, xmm0
pxor xmm0, xmm0
mov dword [ebp - 0x1f4], eax
punpcklqdq xmm3, xmm1
pshufd xmm1, xmm2, 0
movups xmm2, xmmword [0x6817c0]
unpckhpd xmm0, xmmword [0x6817b0]
mov eax, edi
mov dword [ebp - 0x364], esi
movdqu xmm7, xmmword [0x681740]
nop dword [eax]
mov edx, dword [ebp - 0x1f4]
lea esi, [edi + edi]
movdqa xmm5, xmm3
lea esi, [esi + ecx*2 + 2]
sub esi, dword [ebp - 0x214]
pcmpeqd xmm5, xmm1
movups xmmword [eax + edx + 8], xmm2
movups xmmword [eax + edx + 0x18], xmm0
punpckldq xmm5, xmm5
add edi, 2
mov edx, dword [ebp - 0x21c]
add eax, 0x20
movups xmm6, xmmword [0x6817d0]
paddd xmm3, xmm7
andps xmm6, xmm5
movsd xmm4, qword [edx + esi*8]
movhpd xmm4, qword [edx + esi*8 + 0x10]
andnps xmm5, xmm4
orps xmm6, xmm5
movsd qword [edx + esi*8], xmm6
movhpd qword [edx + esi*8 + 0x10], xmm6
cmp edi, dword [ebp - 0x1fc]
jb 0x4c0ae0
mov edx, dword [ebp - 0x208]
mov esi, dword [ebp - 0x364]
mov edi, dword [ebp - 0x1fc]
mov eax, edi
shl eax, 4
mov dword [ebp - 0x5f4], eax
cmp edi, edx
jae 0x4c0be3
mov edi, dword [ebp - 0x214]
shl edi, 3
pxor xmm1, xmm1
mov eax, dword [ebp - 0x21c]
sub eax, edi
mov edi, ecx
shl edi, 4
add eax, edi
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x208], edx
mov dword [ebp - 0x364], esi
movsd xmm0, qword [0x681828]
mov esi, eax
mov edx, dword [ebp - 0x5f4]
mov eax, dword [ebp - 0x1fc]
movsd qword [edx + esi + 8], xmm1
lea edi, [ecx + ecx + 2]
lea edi, [edi + eax*2]
cmp edi, dword [ebp - 0x364]
jne 0x4c0bd1
movsd xmm2, qword [0x681830]
movsd qword [edx + esi + 0x10], xmm2
jmp 0x4c0bd7
movsd qword [edx + esi + 0x10], xmm0
inc eax
add edx, 0x10
cmp eax, dword [ebp - 0x208]
jb 0x4c0bac
lea eax, [ebp - 0x2bc]
push eax
lea edx, [ebp - 0x2c4]
push edx
push dword [ebx + 8]
call fcn.00454860
add esp, 0xc
lea eax, [ebp - 0x2b8]
push eax
lea edi, [ebp - 0x2c0]
push edi
push dword [ebx + 8]
call fcn.00454860
add esp, 0xc
cmp dword [ebp - 0x2c4], 0
jne 0x4c0c22
xor esi, esi
jmp 0x4c0c36
lea eax, [ebp - 0x2c4]
push eax
push dword [ebx + 8]
call fcn.00460db0
mov esi, eax
add esp, 8
cmp dword [ebp - 0x2c0], 0
jne 0x4c0c43
xor edi, edi
jmp 0x4c0c51
push edi
push dword [ebx + 8]
call fcn.00460db0
mov edi, eax
add esp, 8
cmp esi, edi
je 0x4c0d29
test esi, esi
je 0x4c0d29
test edi, edi
je 0x4c0d29
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0x940]
push eax
push 0x6813b0
push 0x8384ff00
push 0xffffffffffffffff
mov dword [eax], 0x1f
lea edx, [ebp - 0x928]
push edx
mov dword [eax + 4], str.Xfmr_Nodes_are_in_different_SS:
call fcn.005b4d50
add esp, 0x18
mov dword [ebp - 0x840], esi
lea eax, [ebp - 0x840]
push eax
push 0x6813b8
lea edx, [ebp - 0x928]
push edx
call fcn.005b6b00
add esp, 0xc
mov dword [ebp - 0x938], 1
lea eax, [ebp - 0x938]
push eax
push 0x6813c0
mov dword [eax + 4], 0x681938
lea edx, [ebp - 0x928]
push edx
call fcn.005b6b00
add esp, 0xc
mov dword [ebp - 0x838], edi
lea eax, [ebp - 0x838]
push eax
push 0x6813c8
lea edx, [ebp - 0x928]
push edx
call fcn.005b6b00
add esp, 0xc
push 0x22
push 0x6813d0
push 0x6e3140
call fcn.00471080
add esp, 0xc
test esi, esi
jne 0x4c0d35
test edi, edi
je 0x4c85e8
cmp esi, edi
mov eax, dword [0x6c5af8]
cmovge edi, esi
neg eax
add eax, edi
mov dword [ebp - 0x2cc], edi
mov edi, dword [0x6c5ad8]
mov ecx, dword [ebp - 0x2c8]
mov edx, dword [edi + eax*4]
mov dword [ebp - 0x2b4], edx
cmp ecx, 1
je 0x4c8419
mov eax, dword [ebp - 0x2bc]
cmp eax, dword [ebp - 0x2b4]
jg 0x4c0d87
mov esi, dword [ebp - 0x2b8]
cmp esi, dword [ebp - 0x2b4]
jle 0x4c0e20
push 0x81e9a8
push 0x48
lea eax, [ebp - 0xa58]
push eax
call fcn.004e7ac0
add esp, 0xc
movups xmm0, xmmword [ebp - 0xa58]
movups xmm1, xmmword [ebp - 0xa48]
movups xmm2, xmmword [ebp - 0xa38]
movups xmm3, xmmword [ebp - 0xa28]
movsd xmm4, qword [ebp - 0xa18]
movups xmmword [0x81e6e0], xmm0
movups xmmword [0x81e6f0], xmm1
movups xmmword [0x81e700], xmm2
movups xmmword [0x81e710], xmm3
movsd qword [0x81e720], xmm4
push 0x48
push 0x81e6e0
mov eax, 0x76e5b0
mov edx, 0x681338
push eax
push eax
push edx
push edx
lea ecx, [ebp - 0x2cc]
push ecx
push 0x6813d4
call fcn.004e7b00
add esp, 0x20
mov ecx, dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x2bc]
mov esi, dword [ebp - 0x2b8]
mov edx, eax
or edx, esi
jl 0x4c0e98
cmp eax, esi
je 0x4c0e98
mov edx, eax
add edx, esi
je 0x4c0e98
mov edx, dword [0x6c5f1c]
neg edx
mov dword [ebp - 0x540], esi
mov esi, dword [0x6c5f10]
shl esi, 2
add edx, dword [0x76e588]
mov edi, dword [0x6c5ef0]
sub edi, esi
imul edx, dword [0x6c5f18]
lea esi, [edi + ecx*4]
mov edi, dword [ebp - 0x540]
mov dword [esi + edx], eax
mov eax, dword [0x6c5eec]
neg eax
mov edx, dword [0x6c5ee0]
shl edx, 2
add eax, dword [0x76e588]
mov esi, dword [0x6c5ec0]
sub esi, edx
imul eax, dword [0x6c5ee8]
lea edx, [esi + ecx*4]
mov dword [edx + eax], edi
jmp 0x4c0f25
push 0x81e9a8
push 0x48
lea eax, [ebp - 0xa08]
push eax
call fcn.004e7ac0
add esp, 0xc
movups xmm0, xmmword [ebp - 0xa08]
movups xmm1, xmmword [ebp - 0x9f8]
movups xmm2, xmmword [ebp - 0x9e8]
movups xmm3, xmmword [ebp - 0x9d8]
movsd xmm4, qword [ebp - 0x9c8]
movups xmmword [0x81e6e0], xmm0
movups xmmword [0x81e6f0], xmm1
movups xmmword [0x81e700], xmm2
movups xmmword [0x81e710], xmm3
movsd qword [0x81e720], xmm4
push 0x48
push 0x81e6e0
mov eax, 0x76e5b0
mov edx, 0x681338
push eax
push eax
push edx
push edx
lea ecx, [ebp - 0x2cc]
push ecx
push 0x6813d8
call fcn.004e7b00
add esp, 0x20
mov ecx, dword [ebp - 0x2c8]
cmp dword [ebp - 0x250], 0
jne 0x4c143a
mov dword [ebp - 0x94], ecx
test ecx, ecx
jle 0x4c142b
mov esi, dword [0x6c8260]
mov eax, dword [0x6c81cc]
mov dword [ebp - 0x130], esi
mov esi, ecx
mov dword [ebp - 0x144], eax
mov eax, dword [0x6c828c]
mov edi, dword [0x6c8288]
imul eax, edi
imul esi, edi
mov edx, dword [0x6c825c]
sub esi, eax
mov dword [ebp - 0x140], edx
mov edx, dword [0x6c8280]
shl edx, 3
mov dword [ebp - 0x134], edi
lea edi, [ecx*8]
mov dword [ebp - 0x98], 1
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x12c], edi
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], edx
cmp dword [ebp - 0x90], 0
je 0x4c11e1
mov edi, dword [ebp - 0x98]
shl edi, 3
mov eax, edi
sub eax, dword [ebp - 0x138]
add eax, dword [ebp - 0x130]
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1e0], 0xffffffff
je 0x4c153f
mov ecx, dword [ebp - 0x128]
pxor xmm0, xmm0
mov esi, dword [ebp - 0x98]
mov edx, dword [ebp - 0x12c]
movsd qword [ecx + eax], xmm0
mov ecx, dword [ebp - 0x134]
imul ecx, esi
movsd xmm1, qword [0x681838]
mulsd xmm1, qword [0x76e5b0]
sub edx, dword [ebp - 0x138]
add edx, dword [ebp - 0x130]
sub ecx, dword [ebp - 0x13c]
mov edi, dword [0x6c81c8]
mov eax, dword [0x6c81c0]
movsd qword [ecx + edx], xmm0
mov ecx, dword [ebp - 0x144]
imul ecx, edi
lea edx, [ecx + eax*8]
mov ecx, dword [0x6c81a0]
lea eax, [ecx + esi*8]
mov ecx, dword [ebp - 0x148]
imul ecx, edi
mov edi, dword [ebp - 0x148]
add eax, ecx
sub edi, dword [ebp - 0x140]
sub eax, edx
imul edi, dword [0x6c8258]
mov ecx, dword [0x6c8250]
neg ecx
add ecx, esi
add edi, dword [0x6c8230]
mov dword [ebp - 0x24c], eax
mulsd xmm1, qword [edi + ecx*8]
movsd qword [eax], xmm1
mov eax, dword [0x6c81c8]
imul eax, esi
mov ecx, dword [0x6c81a0]
add ecx, dword [ebp - 0x12c]
add ecx, eax
sub ecx, edx
mov edx, dword [0x76e588]
mov edi, dword [0x6c60ec]
mov dword [ebp - 0x1e8], edx
imul edx, edi
imul edi, dword [0x6c60f0]
movsd qword [ecx], xmm1
mov eax, dword [0x6c60e4]
mov ecx, dword [0x6c60e0]
imul eax, ecx
mov dword [ebp - 0x248], edi
mov edi, dword [0x6c60d8]
lea eax, [eax + edi*8]
mov edi, dword [0x6c60b8]
lea edi, [edi + esi*8]
mov esi, dword [ebp - 0x148]
imul esi, ecx
add edi, edx
neg esi
mov ecx, dword [ebp - 0x248]
add esi, ecx
add esi, eax
sub edi, esi
mov esi, dword [ebp - 0x24c]
movsd xmm2, qword [esi]
movsd qword [edi], xmm2
mov edi, dword [0x6c60b8]
add edi, dword [ebp - 0x12c]
add edi, edx
mov edx, dword [0x6c60e0]
imul edx, dword [ebp - 0x98]
sub ecx, edx
add ecx, eax
sub edi, ecx
movsd qword [edi], xmm2
mov edx, dword [0x6c60a4]
mov edi, dword [0x6c60a0]
imul edx, edi
mov eax, dword [0x6c6098]
mov esi, dword [0x6c60b0]
mov ecx, dword [0x6c60ac]
imul esi, ecx
lea edx, [edx + eax*8]
mov dword [ebp - 0x1e4], edx
mov edx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 0x98]
imul edx, ecx
mov ecx, dword [0x6c6078]
lea eax, [ecx + eax*8]
mov ecx, dword [ebp - 0x148]
imul ecx, edi
add eax, edx
neg ecx
add ecx, esi
add ecx, dword [ebp - 0x1e4]
mov edi, dword [ebp - 0x128]
sub eax, ecx
mov ecx, dword [ebp - 0x1dc]
movsd xmm0, qword [edi + ecx]
mov ecx, dword [0x6c6078]
add ecx, dword [ebp - 0x12c]
add ecx, edx
mov edx, dword [0x6c60a0]
imul edx, dword [ebp - 0x98]
movsd qword [eax], xmm0
sub esi, edx
mov eax, dword [ebp - 0x1e4]
add eax, esi
sub ecx, eax
movsd qword [ecx], xmm0
jmp 0x4c140c
mov edx, dword [ebp - 0x98]
mov eax, dword [0x6c5f50]
mov esi, dword [ebp - 0x138]
mov edi, dword [ebp - 0x130]
lea ecx, [edx*8]
sub ecx, esi
add edx, edx
sub edx, dword [0x6c5f70]
add ecx, edi
movsd xmm3, qword [0x681810]
movsd xmm0, qword [eax + edx*8 - 8]
mov eax, dword [ebp - 0x128]
movsd qword [eax + ecx], xmm0
mov eax, dword [ebp - 0x12c]
sub eax, esi
mov esi, dword [ebp - 0x98]
add eax, edi
mov edi, dword [ebp - 0x134]
imul edi, esi
sub edi, dword [ebp - 0x13c]
movsd qword [edi + eax], xmm0
mov eax, dword [0x6c5f50]
mov edi, dword [0x6c8250]
mulsd xmm3, qword [eax + edx*8]
divsd xmm3, qword [0x76e5b0]
mov eax, dword [0x6c8258]
mov edx, dword [ebp - 0x140]
imul edx, eax
lea edi, [edx + edi*8]
mov edx, dword [0x6c8230]
lea edx, [edx + esi*8]
mov esi, dword [ebp - 0x148]
imul esi, eax
add edx, esi
mov esi, dword [ebp - 0x128]
sub edx, edi
movsd xmm4, qword [esi + ecx]
mov esi, dword [ebp - 0x98]
movaps xmm2, xmm4
imul eax, esi
addsd xmm2, xmm3
mov ecx, dword [0x6c8230]
add ecx, dword [ebp - 0x12c]
add ecx, eax
sub ecx, edi
movsd qword [edx], xmm2
mov eax, dword [ebp - 0x144]
mov edi, dword [0x6c81c0]
movsd qword [ecx], xmm2
mov ecx, dword [0x6c81c8]
imul eax, ecx
movsd xmm1, qword [edx]
mov edx, dword [0x6c81a0]
lea eax, [eax + edi*8]
mov edi, dword [0x6c81a0]
add edx, dword [ebp - 0x12c]
lea edi, [edi + esi*8]
mov esi, dword [ebp - 0x148]
imul esi, ecx
add edi, esi
sub edi, eax
mov esi, dword [0x6c60e4]
movsd qword [edi], xmm1
mov edi, dword [ebp - 0x98]
imul ecx, edi
add edx, ecx
sub edx, eax
mov eax, dword [0x6c60ec]
mov ecx, dword [0x76e588]
imul ecx, eax
imul eax, dword [0x6c60f0]
movsd qword [edx], xmm2
mov edx, dword [0x6c60e0]
imul esi, edx
mov dword [ebp - 0x124], eax
mov eax, dword [0x6c60d8]
lea eax, [esi + eax*8]
mov esi, dword [0x6c60b8]
lea esi, [esi + edi*8]
mov edi, dword [ebp - 0x148]
imul edi, edx
add esi, ecx
neg edi
mov edx, dword [ebp - 0x124]
add edi, edx
add edi, eax
sub esi, edi
mov edi, dword [0x6c60b8]
add edi, dword [ebp - 0x12c]
add edi, ecx
mov ecx, dword [ebp - 0x98]
movsd qword [esi], xmm3
mov esi, dword [0x6c60e0]
imul esi, ecx
sub edx, esi
add edx, eax
sub edi, edx
mov edx, dword [0x6c60b0]
mov eax, dword [0x6c60a4]
mov esi, dword [0x6c60a0]
movsd qword [edi], xmm3
mov edi, dword [0x6c60ac]
imul edx, edi
imul eax, esi
mov dword [ebp - 0x120], edx
mov edx, dword [0x6c6098]
lea eax, [eax + edx*8]
mov edx, dword [0x76e588]
imul edx, edi
mov edi, dword [0x6c6078]
lea ecx, [edi + ecx*8]
mov edi, dword [ebp - 0x148]
imul edi, esi
add ecx, edx
neg edi
mov esi, dword [ebp - 0x120]
add edi, esi
add edi, eax
sub ecx, edi
mov edi, dword [0x6c60a0]
imul edi, dword [ebp - 0x98]
movsd qword [ecx], xmm4
mov ecx, dword [0x6c6078]
sub esi, edi
add ecx, dword [ebp - 0x12c]
add eax, esi
add edx, ecx
sub edx, eax
movsd qword [edx], xmm4
mov eax, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x98], eax
cmp eax, dword [ebp - 0x94]
jle 0x4c0fb6
mov ecx, dword [ebp - 0x148]
inc ecx
cmp ecx, dword [ebp - 0x10]
jle 0x4bfeeb
jmp 0x4c41dd
inc ecx
cmp ecx, dword [ebp - 0x10]
jle 0x4bfeeb
jmp 0x4c62de
push 0x81e9a8
push 0x48
lea eax, [ebp - 0xb18]
push eax
call fcn.004e7ac0
add esp, 0xc
movups xmm0, xmmword [ebp - 0xb18]
movups xmm1, xmmword [ebp - 0xb08]
movups xmm2, xmmword [ebp - 0xaf8]
movups xmm3, xmmword [ebp - 0xae8]
movsd xmm4, qword [ebp - 0xad8]
movups xmmword [0x81e6e0], xmm0
movups xmmword [0x81e6f0], xmm1
movups xmmword [0x81e700], xmm2
movups xmmword [0x81e710], xmm3
movsd qword [0x81e720], xmm4
push 0x48
push 0x81e6e0
mov esi, 0x76e5b0
mov edi, 0x681338
push esi
push esi
push edi
push edi
lea eax, [ebp - 0x2cc]
push eax
push 0x6813dc
call fcn.004e7b00
add esp, 0x20
push 0x48
push 0x81e6e0
push esi
push esi
push edi
push edi
push edi
push 0x6813e0
call fcn.004e7b00
add esp, 0x20
lea esp, [ebp - 8]
pop edi
pop esi
pop ebp
mov esp, ebx
pop ebx
ret
mov edi, 0x681338
mov esi, 0x76e5b0
jmp 0x4c14d0
mov esi, edi
mov ecx, dword [ebp - 0x948]
mov dword [ebp - 0x960], 0
lea ecx, [ecx + esi*8]
jmp 0x4c031a
mov esi, edi
mov ecx, dword [ebp - 0x948]
lea ecx, [ecx + esi*8]
jmp 0x4c0345
mov dword [ebp - 0x20c], 0
jmp 0x4c07d9
xor edx, edx
jmp 0x4c06ce
mov dword [ebp - 0x6b4], edi
mov edi, dword [ebp - 0x98]
mov ecx, dword [0x6c5f50]
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x1dc]
lea esi, [edi + edi]
sub esi, dword [0x6c5f70]
mov dword [ebp - 0x6ac], esi
movsd xmm1, qword [0x681838]
movsd xmm0, qword [ecx + esi*8 - 8]
mov ecx, dword [ebp - 0x134]
imul ecx, edi
movsd qword [eax + edx], xmm0
mulsd xmm1, qword [0x76e5b0]
mov esi, dword [ebp - 0x12c]
sub esi, dword [ebp - 0x138]
add esi, dword [ebp - 0x130]
sub ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x140]
mov edx, dword [0x6c8250]
movsd qword [ecx + esi], xmm0
mov ecx, dword [0x6c8258]
imul eax, ecx
mov esi, dword [0x6c8230]
lea edx, [eax + edx*8]
mov dword [ebp - 0x6a8], edx
mov dword [ebp - 0x6b0], esi
mov dword [ebp - 0x224], ecx
lea eax, [esi + edi*8]
mov edi, dword [ebp - 0x148]
imul edi, ecx
add eax, edi
mov edi, dword [ebp - 0x6ac]
sub eax, edx
mov edx, dword [0x6c5f50]
mulsd xmm1, qword [edx + edi*8]
movsd qword [eax], xmm1
mov eax, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x98]
mov edi, dword [ebp - 0x6b4]
add eax, esi
mov esi, edx
imul esi, ecx
add eax, esi
sub eax, dword [ebp - 0x6a8]
movsd qword [eax], xmm1
cmp edx, dword [ebp - 0x10]
je 0x4c163c
mov eax, dword [0x76e588]
mov dword [ebp - 0x1e8], eax
jmp 0x4c1141
mov esi, dword [0x6c8278]
mov edx, dword [0x6c8254]
mov dword [ebp - 0x98c], esp
mov dword [ebp - 0x228], edx
lea eax, [esi*8]
imul eax, edx
add eax, 0xf
and eax, 0xfffffff0
call fcn.0063fc60
mov eax, esp
mov dword [ebp - 0x560], eax
cmp dword [ebp - 0x228], 0
jle 0x4c16a9
test esi, esi
jle 0x4c16a9
mov eax, edx
imul eax, esi
cmp eax, 0xc
jle 0x4c417d
mov eax, edx
lea edx, [eax*8]
imul edx, esi
push edx
push 0
push dword [ebp - 0x560]
call fcn.0062a5e0
add esp, 0xc
mov edx, dword [0x6c8284]
lea eax, [esi*8]
mov dword [ebp - 0x608], edx
mov dword [ebp - 0x55c], eax
test edx, edx
jle 0x4c19a9
mov dword [ebp - 0x260], esi
xor eax, eax
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x138]
sub ecx, edx
mov esi, dword [ebp - 0x13c]
sub edx, esi
add ecx, edx
mov dword [ebp - 0x6bc], eax
add esi, ecx
mov dword [ebp - 0x13c], esi
mov esi, dword [ebp - 0x260]
mov ecx, eax
mov dword [ebp - 0x6b4], edi
cmp dword [ebp - 0x228], 0
jle 0x4c198a
mov edi, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x130]
mov esi, dword [ebp - 0x6b0]
mov dword [ebp - 0x6bc], ecx
add edi, eax
mov dword [ebp - 0x48], edi
add edx, eax
mov edi, dword [ebp - 0x560]
lea esi, [esi + ecx*8]
mov dword [ebp - 0x258], edi
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x6b8], eax
mov edx, edi
mov ecx, dword [ebp - 0x260]
test ecx, ecx
jle 0x4c195c
cmp ecx, 8
jl 0x4c4176
mov edi, edx
mov eax, 1
and edi, 0xf
cmovne edi, eax
mov dword [ebp - 0x254], edi
lea eax, [edi + 8]
cmp ecx, eax
jl 0x4c4176
mov eax, ecx
sub eax, edi
and eax, 7
neg eax
add eax, ecx
test edi, edi
jbe 0x4c17d5
mov dword [ebp - 0x25c], eax
xor edi, edi
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x4c]
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 0x4c17ab
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x25c]
mov ecx, dword [ebp - 0x260]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x254]
lea edi, [edx + eax*8]
mov dword [ebp - 0x270], edi
mov edi, dword [ebp - 0x48]
lea eax, [edi + eax*8]
test al, 0xf
mov eax, dword [ebp - 0x25c]
je 0x4c186f
mov dword [ebp - 0x258], edx
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x254]
mov edi, dword [ebp - 0x4c]
movsd xmm4, qword [esi]
unpcklpd xmm4, xmm4
movups xmm0, xmmword [edi + ecx*8]
mov edi, dword [ebp - 0x48]
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 0x4c1810
jmp 0x4c18ea
mov dword [ebp - 0x258], edx
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x254]
nop dword [eax + eax]
nop dword [eax]
movsd xmm3, qword [esi]
mov edi, dword [ebp - 0x4c]
unpcklpd xmm3, xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
mulpd xmm0, xmmword [edi + ecx*8]
mov edi, dword [ebp - 0x48]
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 0x4c1890
mov edx, dword [ebp - 0x258]
mov ecx, dword [ebp - 0x260]
lea edi, [eax + 1]
cmp edi, ecx
ja 0x4c195c
mov edi, ecx
sub edi, eax
mov dword [ebp - 0x264], edi
lea edi, [edx + eax*8]
mov dword [ebp - 0x26c], edi
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x258], edx
mov edx, dword [ebp - 0x26c]
lea eax, [edi + eax*8]
mov ecx, dword [ebp - 0x268]
mov edi, dword [ebp - 0x264]
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 0x4c1938
mov edx, dword [ebp - 0x258]
mov ecx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x220]
lea edx, [edx + ecx*8]
inc eax
add esi, dword [ebp - 0x224]
mov dword [ebp - 0x220], eax
cmp eax, dword [ebp - 0x228]
jb 0x4c175c
mov eax, dword [ebp - 0x6b8]
mov ecx, dword [ebp - 0x6bc]
inc ecx
add eax, dword [ebp - 0x134]
cmp ecx, dword [ebp - 0x608]
jb 0x4c1706
mov esi, dword [ebp - 0x260]
mov edi, dword [ebp - 0x6b4]
mov eax, 1
mov ecx, 8
mov dword [ebp - 0xc38], eax
xor edx, edx
mov dword [ebp - 0xc2c], eax
mov dword [ebp - 0xc4c], eax
movzx eax, byte [0x6c820d]
and eax, 1
shl eax, 0x15
add eax, 0x40000
mov dword [ebp - 0xc54], ecx
mov dword [ebp - 0xc3c], ecx
mov dword [ebp - 0xc50], edx
mov ecx, dword [ebp - 0x55c]
mov dword [ebp - 0xc58], edx
lea edx, [ebp - 0xc58]
push eax
mov dword [edx + 0x28], ecx
push edx
mov ecx, dword [ebp - 0x228]
push 0x6c8200
mov dword [edx + 0x10], 2
mov dword [edx + 0x18], esi
mov dword [edx + 0x24], ecx
call fcn.005d7540
add esp, 0xc
mov ecx, dword [0x6c822c]
cmp dword [ebp - 0x228], 0
jle 0x4c1c30
mov edx, dword [0x6c8228]
imul ecx, edx
mov eax, dword [0x6c8220]
mov dword [ebp - 0x6b4], edi
mov edi, dword [0x6c8200]
shl eax, 3
mov dword [ebp - 0x558], edi
sub edi, eax
sub eax, ecx
mov dword [ebp - 0x554], 0
add edi, eax
mov dword [ebp - 0x600], edx
lea edx, [esi*8]
mov eax, dword [ebp - 0x554]
add edi, ecx
mov dword [ebp - 0x604], edi
mov edi, dword [ebp - 0x6b4]
mov dword [ebp - 0x800], eax
mov dword [ebp - 0x5fc], edx
test esi, esi
jle 0x4c1c06
cmp esi, 0xc
jle 0x4c1b09
mov dword [ebp - 0x260], esi
mov edi, dword [ebp - 0x800]
mov esi, dword [ebp - 0x554]
mov ecx, dword [ebp - 0x600]
imul ecx, esi
mov eax, dword [ebp - 0x560]
push dword [ebp - 0x5fc]
add ecx, dword [ebp - 0x604]
lea edx, [eax + edi]
push edx
push ecx
call fcn.0062a530
add esp, 0xc
mov eax, dword [ebp - 0x260]
inc esi
lea edi, [edi + eax*8]
cmp esi, dword [ebp - 0x228]
jae 0x4c1c2a
cmp dword [ebp - 0x260], 0xc
jg 0x4c1ab4
mov dword [ebp - 0x554], esi
mov dword [ebp - 0x800], edi
mov esi, eax
cmp esi, 2
jl 0x4c416f
mov eax, dword [ebp - 0x600]
imul eax, dword [ebp - 0x554]
mov edx, dword [ebp - 0x558]
add edx, eax
and edx, 0xf
je 0x4c1b3a
test dl, 7
jne 0x4c416f
mov edx, 1
lea ecx, [edx + 2]
cmp esi, ecx
jl 0x4c416f
mov ecx, dword [ebp - 0x55c]
mov edi, esi
imul ecx, dword [ebp - 0x554]
sub edi, edx
and edi, 1
neg edi
add ecx, dword [ebp - 0x560]
add edi, esi
add eax, dword [ebp - 0x558]
test edx, edx
jbe 0x4c1b98
mov dword [ebp - 0x60c], 0
mov dword [ebp - 0x260], esi
mov esi, dword [ebp - 0x60c]
movsd xmm0, qword [ecx + esi*8]
movsd qword [eax + esi*8], xmm0
inc esi
cmp esi, edx
jb 0x4c1b83
mov esi, dword [ebp - 0x260]
mov dword [ebp - 0xfd8], edi
lea edi, [ecx + edx*8]
test edi, 0xf
mov edi, dword [ebp - 0xfd8]
je 0x4c1bc0
movups xmm0, xmmword [ecx + edx*8]
movups xmmword [eax + edx*8], xmm0
add edx, 2
cmp edx, edi
jb 0x4c1baf
jmp 0x4c1bcf
movups xmm0, xmmword [ecx + edx*8]
movups xmmword [eax + edx*8], xmm0
add edx, 2
cmp edx, edi
jb 0x4c1bc0
cmp edi, esi
jae 0x4c1c06
mov edx, dword [ebp - 0x55c]
mov ecx, dword [ebp - 0x554]
mov eax, dword [ebp - 0x600]
imul edx, ecx
imul eax, ecx
add edx, dword [ebp - 0x560]
add eax, dword [ebp - 0x558]
movsd xmm0, qword [edx + edi*8]
movsd qword [eax + edi*8], xmm0
inc edi
cmp edi, esi
jb 0x4c1bf7
lea edi, [ebp - 0x800]
mov eax, dword [edi]
lea edx, [ebp - 0x554]
mov ecx, dword [edx]
inc ecx
mov dword [edx], ecx
lea edx, [eax + esi*8]
mov dword [edi], edx
cmp ecx, dword [ebp - 0x228]
jb 0x4c1a95
mov edi, dword [ebp - 0x6b4]
mov eax, dword [ebp - 0x98c]
mov esp, eax
test byte [0x6c820c], 1
je 0x4c1f27
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 - 0xa74], eax
mov dword [ebp - 0x8cc], edx
call fcn.005d7540
add esp, 0xc
mov edx, dword [0x6c81fc]
mov ecx, dword [0x6c81f8]
mov eax, dword [0x6c822c]
cmp dword [ebp - 0x8cc], 0
jle 0x4c3fad
mov esi, dword [0x6c8228]
imul edx, ecx
mov dword [ebp - 0x8b0], esi
mov esi, dword [0x6c81f0]
mov dword [ebp - 0x6b4], edi
mov dword [ebp - 0x1c8], ecx
mov edi, dword [0x6c81d0]
lea ecx, [esi*8]
mov dword [ebp - 0x8b8], edi
sub edi, edx
sub edx, ecx
add edi, edx
mov dword [ebp - 0xafc], eax
mov ecx, dword [0x6c8220]
mov eax, dword [0x6c8200]
shl ecx, 3
lea edx, [edi + esi*8]
mov esi, dword [ebp - 0xafc]
imul esi, dword [0x6c8228]
mov dword [ebp - 0x8c8], edx
mov edx, dword [ebp - 0xa74]
mov dword [ebp - 0x8ac], eax
sub eax, ecx
sub ecx, esi
add eax, ecx
shl edx, 3
mov dword [ebp - 0x8b4], 0
add eax, esi
mov dword [ebp - 0x8c4], eax
mov eax, dword [ebp - 0x8b4]
mov dword [ebp - 0x8c0], edx
mov edi, dword [ebp - 0x6b4]
mov edx, dword [ebp - 0xa74]
mov dword [ebp - 0x958], eax
test edx, edx
jle 0x4c1ee5
cmp edx, 0xc
jle 0x4c1db8
mov edi, dword [ebp - 0x958]
mov esi, dword [ebp - 0x8b4]
mov ecx, dword [ebp - 0x1c8]
imul ecx, esi
mov eax, dword [ebp - 0x8c4]
push dword [ebp - 0x8c0]
add ecx, dword [ebp - 0x8c8]
lea edx, [eax + edi]
push edx
push ecx
call fcn.0062a530
add esp, 0xc
inc esi
add edi, dword [ebp - 0x8b0]
cmp esi, dword [ebp - 0x8cc]
jae 0x4c1f08
cmp dword [ebp - 0xa74], 0xc
jg 0x4c1d62
mov dword [ebp - 0x958], edi
mov dword [ebp - 0x8b4], esi
mov edx, dword [ebp - 0xa74]
cmp edx, 2
jl 0x4c3f9e
mov eax, dword [ebp - 0x1c8]
imul eax, dword [ebp - 0x8b4]
mov ecx, dword [ebp - 0x8b8]
add ecx, eax
and ecx, 0xf
je 0x4c1de9
test cl, 7
jne 0x4c3f9e
mov ecx, 1
lea esi, [ecx + 2]
cmp edx, esi
jl 0x4c3f9e
mov esi, edx
sub esi, ecx
and esi, 1
neg esi
add esi, edx
mov dword [ebp - 0x8a8], esi
mov esi, dword [ebp - 0x8b0]
imul esi, dword [ebp - 0x8b4]
mov edi, dword [ebp - 0x8ac]
add eax, dword [ebp - 0x8b8]
mov dword [ebp - 0x8a4], esi
add edi, esi
mov dword [ebp - 0x8a0], edi
test ecx, ecx
jbe 0x4c1e4f
mov dword [ebp - 0x8d4], 0
mov esi, dword [ebp - 0x8d4]
movsd xmm0, qword [edi + esi*8]
movsd qword [eax + esi*8], xmm0
inc esi
cmp esi, ecx
jb 0x4c1e40
mov esi, dword [ebp - 0x8a4]
add esi, dword [ebp - 0x8c4]
lea edi, [esi + ecx*8]
test edi, 0xf
je 0x4c1e83
mov esi, dword [ebp - 0x8a8]
mov edi, dword [ebp - 0x8a0]
movups xmm0, xmmword [edi + ecx*8]
movups xmmword [eax + ecx*8], xmm0
add ecx, 2
cmp ecx, esi
jb 0x4c1e72
jmp 0x4c1e9e
mov esi, dword [ebp - 0x8a8]
mov edi, dword [ebp - 0x8a0]
movups xmm0, xmmword [edi + ecx*8]
movups xmmword [eax + ecx*8], xmm0
add ecx, 2
cmp ecx, esi
jb 0x4c1e8f
mov dword [ebp - 0x8a8], esi
cmp edx, dword [ebp - 0x8a8]
jbe 0x4c1ee5
mov ecx, dword [ebp - 0x1c8]
mov esi, dword [ebp - 0x8b4]
mov eax, dword [ebp - 0x8b0]
imul ecx, esi
imul eax, esi
add ecx, dword [ebp - 0x8b8]
add eax, dword [ebp - 0x8ac]
mov esi, dword [ebp - 0x8a8]
movsd xmm0, qword [eax + esi*8]
movsd qword [ecx + esi*8], xmm0
inc esi
cmp esi, edx
jb 0x4c1ed6
mov eax, dword [ebp - 0x8b0]
lea esi, [ebp - 0x8b4]
mov ecx, dword [esi]
inc ecx
add dword [ebp - 0x958], eax
mov dword [esi], ecx
cmp ecx, dword [ebp - 0x8cc]
jb 0x4c1d49
mov eax, dword [0x6c81d0]
mov edx, dword [0x6c81fc]
mov ecx, dword [ebp - 0x1c8]
mov edi, dword [ebp - 0x6b4]
mov dword [ebp - 0x9b0], eax
jmp 0x4c1f51
mov eax, dword [0x6c81dc]
mov dword [ebp - 0xaf0], eax
test al, 1
jne 0x4c40f9
mov eax, dword [0x6c81d0]
mov ecx, dword [0x6c81f8]
mov edx, dword [0x6c81fc]
mov dword [ebp - 0x9b0], eax
mov eax, dword [0x6c81f0]
cmp dword [ebp - 0x10], 0
jle 0x4c2143
shl eax, 3
cmp ecx, 0xfffffff8
je 0x4c3fcc
imul edx, ecx
cmp dword [ebp - 0x10], 8
jl 0x4c3fbd
mov esi, dword [ebp - 0x9b0]
mov dword [ebp - 0x6b4], edi
mov edi, dword [ebp - 0x544]
mov dword [ebp - 0x984], edi
lea edi, [ecx + esi]
sub edi, edx
sub edi, eax
mov dword [ebp - 0x5b0], edi
lea edi, [ecx + ecx*2]
add edi, esi
sub edi, edx
sub edi, eax
mov dword [ebp - 0x5a8], edi
lea edi, [ecx + ecx*4]
add edi, esi
sub edi, edx
sub edi, eax
mov dword [ebp - 0x5ac], edi
lea edi, [ecx*8]
sub edi, ecx
mov dword [ebp - 0x9ac], 0
add edi, esi
mov esi, dword [ebp - 0x9ac]
sub edi, edx
sub edi, eax
mov dword [ebp - 0x5a4], edi
mov dword [ebp - 0x988], eax
mov eax, esi
mov dword [ebp - 0x9a8], edx
mov edx, esi
mov esi, dword [ebp - 0x5b0]
lea edi, [esi + edx*8 + 8]
mov esi, dword [ebp - 0x5a8]
add edi, eax
lea esi, [esi + edx*8]
movsd xmm0, qword [edi]
movhpd xmm0, qword [edi + ecx + 8]
addpd xmm0, xmmword [0x681760]
movsd qword [edi], xmm0
movhpd qword [ecx + edi + 8], xmm0
lea edi, [eax + esi + 0x18]
movsd xmm1, qword [edi]
movhpd xmm1, qword [edi + ecx + 8]
lea edi, [esi + eax + 0x18]
addpd xmm1, xmmword [0x681760]
mov esi, dword [ebp - 0x5ac]
movsd qword [edi], xmm1
movhpd qword [ecx + edi + 8], xmm1
lea esi, [esi + edx*8]
lea edi, [eax + esi + 0x28]
movsd xmm2, qword [edi]
movhpd xmm2, qword [edi + ecx + 8]
lea edi, [esi + eax + 0x28]
addpd xmm2, xmmword [0x681760]
mov esi, dword [ebp - 0x5a4]
movsd qword [edi], xmm2
movhpd qword [ecx + edi + 8], xmm2
lea esi, [esi + edx*8]
add edx, 8
lea edi, [eax + esi + 0x38]
movsd xmm3, qword [edi]
movhpd xmm3, qword [edi + ecx + 8]
lea edi, [esi + eax + 0x38]
addpd xmm3, xmmword [0x681760]
movsd qword [edi], xmm3
lea eax, [eax + ecx*8]
movhpd qword [ecx + edi + 8], xmm3
cmp edx, dword [ebp - 0x544]
jb 0x4c1ff1
mov eax, dword [ebp - 0x988]
mov edx, dword [ebp - 0x9a8]
mov edi, dword [ebp - 0x6b4]
mov dword [ebp - 0x988], eax
mov eax, ecx
mov esi, dword [ebp - 0x984]
imul eax, esi
mov dword [ebp - 0x980], eax
mov eax, dword [ebp - 0x988]
cmp esi, dword [ebp - 0x10]
jae 0x4c2149
mov esi, dword [ebp - 0x9b0]
mov dword [ebp - 0x9a8], edx
mov dword [ebp - 0x6b4], edi
mov dword [ebp - 0x988], eax
add esi, ecx
sub esi, edx
mov edx, dword [ebp - 0x980]
sub esi, eax
mov edi, dword [ebp - 0x984]
lea eax, [esi + edi*8]
inc edi
movsd xmm0, qword [eax + edx + 8]
addsd xmm0, qword [0x681878]
movsd qword [eax + edx + 8], xmm0
add edx, ecx
cmp edi, dword [ebp - 0x10]
jb 0x4c2110
mov eax, dword [ebp - 0x988]
mov edx, dword [ebp - 0x9a8]
mov edi, dword [ebp - 0x6b4]
jmp 0x4c2149
imul edx, ecx
shl eax, 3
mov dword [ebp - 0x6b4], edi
lea esi, [edx + eax]
mov edi, dword [ebp - 0x9b0]
sub edi, esi
mov dword [ebp - 0x5f0], edi
mov edi, dword [ebp - 0x9b0]
mov dword [ebp - 0x5e8], esi
mov esi, edi
sub esi, edx
add edi, ecx
sub esi, eax
mov dword [ebp - 0x8c], esi
mov esi, edi
sub esi, dword [ebp - 0x5e8]
sub edi, edx
mov dword [ebp - 0x1d4], esi
sub edi, eax
mov esi, dword [ebp - 0x9b0]
mov dword [ebp - 0x1d0], edi
mov edi, dword [ebp - 0x5e8]
neg edi
lea esi, [esi + ecx*2]
add edi, esi
sub esi, edx
mov dword [ebp - 0x1d8], 1
sub esi, eax
mov dword [ebp - 0x5e8], edi
mov dword [ebp - 0x5ec], esi
movsd xmm0, qword [0x681820]
mov edi, dword [ebp - 0x6b4]
mov esi, dword [ebp - 0x1d8]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c8], ecx
mov ecx, dword [ebp - 0x8c]
lea edx, [ecx + esi*8]
mov ecx, dword [ebp - 0x1c8]
imul ecx, esi
movsd xmm1, qword [edx + ecx]
andps xmm1, xmmword [0x6817e0]
mov dword [ebp - 0x5b4], edx
comisd xmm0, xmm1
ja 0x4c1449
movsd xmm1, qword [0x681878]
xorps xmm1, xmmword [0x6817f0]
divsd xmm1, qword [edx + ecx]
movsd qword [edx + ecx], xmm1
test eax, eax
jle 0x4c24d7
mov edx, dword [ebp - 0x8c]
lea edi, [ecx + esi*8]
mov dword [ebp - 0x5e4], ecx
mov dword [ebp - 0x74], edi
mov edi, eax
mov dword [ebp - 0x1b8], 0
add edx, ecx
mov dword [ebp - 0x68], edx
lea ecx, [esi - 1]
cmp ecx, eax
mov dword [ebp - 0x1c0], ecx
cmovb edi, ecx
xor ecx, ecx
test esi, esi
cmovg ecx, esi
mov dword [ebp - 0x1bc], edi
mov edi, dword [ebp - 0x1d4]
mov dword [ebp - 0x1cc], ecx
mov dword [ebp - 0x10], eax
lea edx, [edx + ecx*8]
mov dword [ebp - 0x7c], edx
lea edi, [edi + esi*8]
mov dword [ebp - 0x78], edi
lea edi, [ecx + 1]
mov dword [ebp - 0x44], edi
mov edi, eax
mov edx, dword [ebp - 0x1b8]
sub edi, ecx
mov dword [ebp - 0x88], edx
mov ecx, dword [ebp - 0x1bc]
shr ecx, 1
mov dword [ebp - 0x1c4], edi
shr edi, 1
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edi
mov ecx, dword [ebp - 0x5e4]
mov eax, edx
mov dword [ebp - 0x1d8], esi
mov edx, dword [ebp - 0x1b8]
inc edx
mov dword [ebp - 0x1b8], edx
cmp edx, dword [ebp - 0x1d8]
je 0x4c24b3
cmp dword [ebp - 0x1c0], 0
jle 0x4c23be
cmp dword [ebp - 0x70], 0
jbe 0x4c40ef
mov ecx, dword [ebp - 0x1d0]
xor edx, edx
mov dword [ebp - 0x88], eax
mov edi, edx
add ecx, eax
mov dword [ebp - 0x80], ecx
nop dword [eax + eax]
nop dword [eax + eax]
mov dword [ebp - 0x64], edx
mov edx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x88]
movsd xmm1, qword [edx + esi]
mulsd xmm1, qword [eax + ecx]
mov eax, dword [ebp - 0x68]
mulsd xmm1, qword [edi + eax + 8]
mov eax, dword [ebp - 0x80]
addsd xmm1, qword [edi + eax + 8]
movsd qword [edi + eax + 8], xmm1
movsd xmm2, qword [edx + esi]
mov edx, dword [ebp - 0x88]
mulsd xmm2, qword [edx + ecx]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
inc edx
mulsd xmm2, qword [edi + ecx + 0x10]
addsd xmm2, qword [edi + eax + 0x10]
movsd qword [edi + eax + 0x10], xmm2
add edi, 0x10
cmp edx, dword [ebp - 0x70]
jb 0x4c2310
mov eax, dword [ebp - 0x88]
lea ecx, [edx + edx + 1]
lea edx, [ecx - 1]
cmp edx, dword [ebp - 0x1bc]
jae 0x4c23be
mov esi, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x74]
lea edx, [esi + ecx*8]
mov esi, dword [ebp - 0x8c]
movsd xmm1, qword [edi + esi]
mov edi, dword [ebp - 0x78]
mov esi, dword [ebp - 0x68]
mulsd xmm1, qword [eax + edi]
mulsd xmm1, qword [esi + ecx*8]
addsd xmm1, qword [edx + eax]
movsd qword [edx + eax], xmm1
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp - 0x10]
ja 0x4c24b3
cmp dword [ebp - 0x6c], 0
jbe 0x4c40e5
mov ecx, dword [ebp - 0x1d4]
xor edx, edx
mov edi, dword [ebp - 0x1cc]
mov dword [ebp - 0x88], eax
lea esi, [ecx + eax]
mov eax, edx
lea ecx, [esi + edi*8]
mov dword [ebp - 0x84], ecx
nop dword [eax]
nop dword [eax]
mov ecx, dword [ebp - 0x74]
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x60], edx
mov esi, dword [ebp - 0x78]
mov edx, dword [ebp - 0x88]
movsd xmm1, qword [ecx + edi]
mulsd xmm1, qword [edx + esi]
mov edx, dword [ebp - 0x7c]
mulsd xmm1, qword [eax + edx + 8]
mov edx, dword [ebp - 0x84]
addsd xmm1, qword [eax + edx + 8]
movsd qword [eax + edx + 8], xmm1
movsd xmm2, qword [ecx + edi]
mov ecx, dword [ebp - 0x88]
mulsd xmm2, qword [ecx + esi]
mov esi, dword [ebp - 0x7c]
mulsd xmm2, qword [eax + esi + 0x10]
addsd xmm2, qword [eax + edx + 0x10]
movsd qword [eax + edx + 0x10], xmm2
add eax, 0x10
mov edx, dword [ebp - 0x60]
inc edx
cmp edx, dword [ebp - 0x6c]
jb 0x4c2400
mov eax, ecx
lea ecx, [edx + edx + 1]
lea edx, [ecx - 1]
cmp edx, dword [ebp - 0x1c4]
jae 0x4c24b3
add ecx, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x74]
lea edx, [esi + ecx*8]
mov esi, dword [ebp - 0x8c]
movsd xmm1, qword [edi + esi]
mov edi, dword [ebp - 0x78]
mov esi, dword [ebp - 0x68]
mulsd xmm1, qword [eax + edi]
mulsd xmm1, qword [esi + ecx*8]
addsd xmm1, qword [edx + eax]
movsd qword [edx + eax], xmm1
mov edx, dword [ebp - 0x1b8]
add eax, dword [ebp - 0x1c8]
cmp edx, dword [ebp - 0x10]
jb 0x4c22be
mov ecx, dword [ebp - 0x5e4]
mov esi, dword [ebp - 0x1d8]
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x4c2853
mov edx, eax
lea edi, [esi - 1]
cmp edi, eax
cmovb edx, edi
mov dword [ebp - 0x5cc], edx
test edi, edi
jle 0x4c267b
shr edx, 1
mov dword [ebp - 0x3b0], edx
test edx, edx
jbe 0x4c40db
xor edx, edx
lea edi, [ecx + esi*8]
mov dword [ebp - 0x3b8], edi
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x5dc], edx
mov dword [ebp - 0x1d8], esi
mov dword [ebp - 0x3cc], edx
add edi, ecx
mov dword [ebp - 0x3bc], edi
mov edi, dword [ebp - 0x1d4]
mov dword [ebp - 0x5e4], ecx
mov dword [ebp - 0x10], eax
lea edi, [edi + esi*8]
mov dword [ebp - 0x3c0], edi
mov edi, dword [ebp - 0x5e8]
lea edi, [edi + esi*8]
mov esi, dword [ebp - 0x5dc]
mov dword [ebp - 0x3c8], edi
mov dword [ebp - 0x3a8], edx
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x3b8]
mov edi, dword [ebp - 0x3c0]
mov eax, dword [ebp - 0x3bc]
movsd xmm1, qword [edx + ecx]
xorps xmm1, xmmword [0x6817f0]
mulsd xmm1, qword [edi + esi*2]
movsd qword [edi + esi*2], xmm1
mov edi, dword [ebp - 0x3cc]
movsd xmm2, qword [edx + ecx]
xorps xmm2, xmmword [0x6817f0]
mulsd xmm2, qword [edi + eax + 8]
movsd qword [edi + eax + 8], xmm2
mov edi, dword [ebp - 0x3c8]
movsd xmm3, qword [edx + ecx]
xorps xmm3, xmmword [0x6817f0]
mulsd xmm3, qword [edi + esi*2]
movsd qword [edi + esi*2], xmm3
movsd xmm4, qword [edx + ecx]
mov ecx, dword [ebp - 0x3cc]
xorps xmm4, xmmword [0x6817f0]
mov edx, dword [ebp - 0x3a8]
mulsd xmm4, qword [ecx + eax + 0x10]
inc edx
movsd qword [ecx + eax + 0x10], xmm4
add ecx, 0x10
add esi, dword [ebp - 0x1c8]
mov dword [ebp - 0x3cc], ecx
cmp edx, dword [ebp - 0x3b0]
jb 0x4c255f
mov ecx, dword [ebp - 0x5e4]
lea edx, [edx + edx + 1]
mov esi, dword [ebp - 0x1d8]
mov eax, dword [ebp - 0x10]
lea edi, [edx - 1]
cmp edi, dword [ebp - 0x5cc]
jae 0x4c267b
mov edi, dword [ebp - 0x1c8]
imul edi, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x5b4]
add edi, dword [ebp - 0x5f0]
movsd xmm1, qword [eax + ecx]
xorps xmm1, xmmword [0x6817f0]
mulsd xmm1, qword [edi + esi*8]
movsd qword [edi + esi*8], xmm1
mov edi, dword [ebp - 0x8c]
movsd xmm2, qword [eax + ecx]
xorps xmm2, xmmword [0x6817f0]
mov eax, dword [ebp - 0x10]
lea edx, [edi + edx*8]
mulsd xmm2, qword [edx + ecx]
movsd qword [edx + ecx], xmm2
xor edx, edx
test esi, esi
cmovg edx, esi
lea edi, [edx + 1]
cmp edi, eax
ja 0x4c2853
mov edi, eax
sub edi, edx
mov dword [ebp - 0x5d0], edi
shr edi, 1
mov dword [ebp - 0x3d0], edi
test edi, edi
jbe 0x4c40cc
mov dword [ebp - 0x10], eax
lea edi, [ecx + esi*8]
mov dword [ebp - 0x3d8], edi
mov edi, dword [ebp - 0x1c8]
imul edi, edx
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x3b4], 0
mov dword [ebp - 0x5d4], edx
mov dword [ebp - 0x5e4], ecx
lea eax, [eax + esi*8]
add eax, edi
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1d8], esi
add eax, ecx
lea eax, [eax + edx*8]
mov dword [ebp - 0x3c4], eax
mov eax, dword [ebp - 0x5ec]
lea eax, [eax + esi*8]
add edi, eax
mov eax, dword [ebp - 0x3b4]
mov dword [ebp - 0x5d8], eax
mov dword [ebp - 0x5e0], eax
mov eax, dword [ebp - 0x5e0]
mov edx, dword [ebp - 0x5d8]
mov dword [ebp - 0x3ac], edi
mov ecx, dword [ebp - 0x3d8]
mov esi, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x3d4]
movsd xmm1, qword [ecx + esi]
xorps xmm1, xmmword [0x6817f0]
mulsd xmm1, qword [edi + edx*2]
movsd qword [edi + edx*2], xmm1
mov edi, dword [ebp - 0x3c4]
movsd xmm2, qword [ecx + esi]
xorps xmm2, xmmword [0x6817f0]
mulsd xmm2, qword [eax + edi + 8]
movsd qword [eax + edi + 8], xmm2
mov edi, dword [ebp - 0x3ac]
movsd xmm3, qword [ecx + esi]
xorps xmm3, xmmword [0x6817f0]
mulsd xmm3, qword [edi + edx*2]
movsd qword [edi + edx*2], xmm3
movsd xmm4, qword [ecx + esi]
mov ecx, dword [ebp - 0x3c4]
xorps xmm4, xmmword [0x6817f0]
mov esi, dword [ebp - 0x3b4]
mulsd xmm4, qword [eax + ecx + 0x10]
inc esi
movsd qword [eax + ecx + 0x10], xmm4
add eax, 0x10
add edx, dword [ebp - 0x1c8]
mov dword [ebp - 0x3b4], esi
cmp esi, dword [ebp - 0x3d0]
jb 0x4c2729
mov edi, esi
mov edx, dword [ebp - 0x5d4]
mov ecx, dword [ebp - 0x5e4]
mov esi, dword [ebp - 0x1d8]
lea edi, [edi + edi + 1]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x5c8], edi
mov edi, dword [ebp - 0x5c8]
lea edi, [edi - 1]
cmp edi, dword [ebp - 0x5d0]
jae 0x4c2853
add edx, dword [ebp - 0x5c8]
mov edi, dword [ebp - 0x1c8]
imul edi, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x5b4]
add edi, dword [ebp - 0x5f0]
movsd xmm1, qword [eax + ecx]
xorps xmm1, xmmword [0x6817f0]
mulsd xmm1, qword [edi + esi*8]
movsd qword [edi + esi*8], xmm1
mov edi, dword [ebp - 0x8c]
movsd xmm2, qword [eax + ecx]
xorps xmm2, xmmword [0x6817f0]
mov eax, dword [ebp - 0x10]
lea edx, [edi + edx*8]
mulsd xmm2, qword [edx + ecx]
movsd qword [edx + ecx], xmm2
inc esi
cmp esi, eax
jle 0x4c21dc
mov ecx, dword [ebp - 0x1c8]
xor edx, edx
mov dword [ebp - 0xcf8], ecx
movzx ecx, byte [0x6c81dd]
and ecx, 1
shl ecx, 0x15
mov dword [ebp - 0x10], eax
add ecx, 0x40000
mov eax, dword [0x6c81f4]
mov dword [ebp - 0x650], eax
mov dword [ebp - 0xcfc], eax
lea eax, [ebp - 0xd20]
push ecx
push eax
mov esi, dword [0x6c81e8]
mov edi, 8
mov dword [eax + 4], edi
mov dword [eax + 0x1c], edi
mov edi, 1
mov dword [eax + 0x20], edi
mov dword [eax + 0x2c], edi
mov dword [eax + 0xc], edi
push 0x6c81d0
mov dword [ebp - 0x704], esi
mov dword [eax + 0x10], 2
mov dword [eax + 8], edx
mov dword [eax + 0x18], esi
mov dword [eax], edx
mov edi, dword [ebp - 0x6b4]
call fcn.005d7540
add esp, 0xc
mov eax, dword [0x6c81fc]
mov dword [ebp - 0x994], eax
cmp dword [ebp - 0x650], 0
jle 0x4c2a8b
mov edx, dword [0x6c81f0]
xor eax, eax
mov dword [ebp - 0x6b4], edi
mov edi, dword [0x6c81f8]
mov esi, dword [0x6c81d0]
lea ecx, [edx*8]
mov edx, dword [ebp - 0x994]
imul edx, edi
mov dword [ebp - 0x660], esi
sub esi, edx
sub edx, ecx
add esi, edx
mov ecx, dword [0x6c81f0]
mov dword [ebp - 0x668], edi
mov dword [ebp - 0x658], eax
mov edi, dword [ebp - 0x6b4]
lea edx, [esi + ecx*8]
mov dword [ebp - 0x6c8], edx
mov edx, dword [ebp - 0x704]
test edx, edx
jle 0x4c2a66
cmp edx, 8
jl 0x4c40c5
mov ecx, dword [ebp - 0x660]
lea edi, [ecx + eax]
and edi, 0xf
je 0x4c2985
test edi, 7
jne 0x4c40c5
mov edi, 1
lea ecx, [edi + 8]
cmp edx, ecx
jl 0x4c40c5
mov esi, edx
sub esi, edi
mov ecx, dword [ebp - 0x660]
and esi, 7
neg esi
add esi, edx
add ecx, eax
mov dword [ebp - 0x63c], ecx
test edi, edi
jbe 0x4c29dc
mov dword [ebp - 0x6c4], 0
mov edx, ecx
mov ecx, dword [ebp - 0x6c4]
movsd xmm0, qword [edx]
inc ecx
xorps xmm0, xmmword [0x6817f0]
movsd qword [edx], xmm0
add edx, 8
cmp ecx, edi
jb 0x4c29bf
mov edx, dword [ebp - 0x704]
mov ecx, dword [ebp - 0x6c8]
mov edx, dword [ebp - 0x63c]
add ecx, eax
nop word [eax + eax]
movups xmm0, xmmword [edx + edi*8]
xorps xmm0, xmmword [0x681770]
movups xmmword [edx + edi*8], xmm0
movups xmm1, xmmword [ecx + edi*8 + 0x10]
movups xmm2, xmmword [ecx + edi*8 + 0x20]
movups xmm3, xmmword [ecx + edi*8 + 0x30]
xorps xmm1, xmmword [0x681770]
xorps xmm2, xmmword [0x681770]
xorps xmm3, xmmword [0x681770]
movups xmmword [ecx + edi*8 + 0x10], xmm1
movups xmmword [ecx + edi*8 + 0x20], xmm2
movups xmmword [ecx + edi*8 + 0x30], xmm3
add edi, 8
cmp edi, esi
jb 0x4c29f0
mov edx, dword [ebp - 0x704]
cmp esi, edx
jae 0x4c2a66
mov ecx, dword [ebp - 0x660]
lea edi, [ecx + eax]
lea ecx, [edi + esi*8]
movsd xmm0, qword [ecx]
inc esi
xorps xmm0, xmmword [0x6817f0]
movsd qword [ecx], xmm0
add ecx, 8
cmp esi, edx
jb 0x4c2a4f
mov ecx, dword [ebp - 0x658]
inc ecx
add eax, dword [ebp - 0x668]
mov dword [ebp - 0x658], ecx
cmp ecx, dword [ebp - 0x650]
jb 0x4c2955
mov edi, dword [ebp - 0x6b4]
mov edx, dword [0x6c81e8]
mov ecx, dword [0x6c8224]
mov dword [ebp - 0x9a4], esp
mov dword [ebp - 0x2b0], edx
lea eax, [edx*8]
imul eax, ecx
mov dword [ebp - 0x240], ecx
add eax, 0xf
and eax, 0xfffffff0
call fcn.0063fc60
mov eax, esp
mov dword [ebp - 0x588], eax
cmp dword [ebp - 0x240], 0
jle 0x4c2b0b
cmp dword [ebp - 0x2b0], 0
jle 0x4c2b0b
mov eax, ecx
imul eax, dword [ebp - 0x2b0]
cmp eax, 0xc
jle 0x4c4073
mov eax, ecx
lea edx, [eax*8]
imul edx, dword [ebp - 0x2b0]
push edx
push 0
push dword [ebp - 0x588]
call fcn.0062a5e0
add esp, 0xc
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [0x6c81f4]
mov dword [ebp - 0x65c], ecx
lea edx, [eax*8]
mov dword [ebp - 0x580], edx
test ecx, ecx
jle 0x4c2e53
mov eax, dword [0x6c8228]
mov dword [ebp - 0x6b4], edi
mov dword [ebp - 0x238], eax
mov edi, dword [0x6c81f8]
mov eax, dword [ebp - 0x994]
imul eax, edi
mov edx, dword [0x6c81f0]
mov ecx, dword [0x6c81d0]
mov dword [ebp - 0x6f0], ecx
sub ecx, eax
mov dword [ebp - 0x670], edi
shl edx, 3
sub eax, edx
add ecx, eax
mov edi, dword [0x6c81f0]
mov esi, dword [0x6c8200]
mov dword [ebp - 0x6f8], esi
xor esi, esi
mov dword [ebp - 0x6e8], esi
lea eax, [ecx + edi*8]
mov edi, dword [ebp - 0x6b4]
mov ecx, esi
mov dword [ebp - 0x6d0], eax
cmp dword [ebp - 0x240], 0
jle 0x4c2e3a
mov edi, dword [ebp - 0x6f8]
mov edx, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0x6d0]
mov dword [ebp - 0x6d4], esi
lea edi, [edi + ecx*8]
mov dword [ebp - 0x6cc], edi
add edx, esi
mov edi, dword [ebp - 0x588]
add eax, esi
mov dword [ebp - 0x288], edi
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x6e8], ecx
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x54], eax
mov edx, edi
mov esi, dword [ebp - 0x6cc]
mov ecx, dword [ebp - 0x2b0]
test ecx, ecx
jle 0x4c2e0c
cmp ecx, 8
jl 0x4c406c
mov edi, edx
mov eax, 1
and edi, 0xf
cmovne edi, eax
mov dword [ebp - 0x278], edi
lea eax, [edi + 8]
cmp ecx, eax
jl 0x4c406c
mov eax, ecx
sub eax, edi
and eax, 7
neg eax
add eax, ecx
test edi, edi
jbe 0x4c2c79
mov dword [ebp - 0x28c], eax
xor edi, edi
mov eax, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x50]
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 0x4c2c4f
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x28c]
mov ecx, dword [ebp - 0x2b0]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x278]
lea edi, [edx + eax*8]
mov dword [ebp - 0x284], edi
mov edi, dword [ebp - 0x54]
lea eax, [edi + eax*8]
test al, 0xf
mov eax, dword [ebp - 0x28c]
je 0x4c2d1f
mov dword [ebp - 0x288], edx
mov edx, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x278]
nop dword [eax + eax]
nop dword [eax]
mov edi, dword [ebp - 0x50]
movsd xmm4, qword [esi]
unpcklpd xmm4, xmm4
movups xmm0, xmmword [edi + ecx*8]
mov edi, dword [ebp - 0x54]
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 0x4c2cc0
jmp 0x4c2d9a
mov dword [ebp - 0x288], edx
mov edx, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x278]
nop dword [eax + eax]
nop dword [eax]
movsd xmm3, qword [esi]
mov edi, dword [ebp - 0x50]
unpcklpd xmm3, xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
mulpd xmm0, xmmword [edi + ecx*8]
mov edi, dword [ebp - 0x54]
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 0x4c2d40
mov edx, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x2b0]
lea edi, [eax + 1]
cmp edi, ecx
ja 0x4c2e0c
mov edi, ecx
sub edi, eax
mov dword [ebp - 0x274], edi
lea edi, [edx + eax*8]
mov dword [ebp - 0x280], edi
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x288], edx
mov edx, dword [ebp - 0x280]
lea eax, [edi + eax*8]
mov ecx, dword [ebp - 0x27c]
mov edi, dword [ebp - 0x274]
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 0x4c2de8
mov edx, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x22c]
lea edx, [edx + ecx*8]
inc eax
add esi, dword [ebp - 0x238]
mov dword [ebp - 0x22c], eax
cmp eax, dword [ebp - 0x240]
jb 0x4c2c00
mov esi, dword [ebp - 0x6d4]
mov ecx, dword [ebp - 0x6e8]
inc ecx
add esi, dword [ebp - 0x670]
cmp ecx, dword [ebp - 0x65c]
jb 0x4c2b9e
mov edi, dword [ebp - 0x6b4]
mov eax, 1
xor edx, edx
mov dword [ebp - 0xcd0], eax
mov ecx, 8
mov dword [ebp - 0xcc4], eax
mov dword [ebp - 0xce4], eax
movzx eax, byte [0x6c81ad]
and eax, 1
shl eax, 0x15
add eax, 0x40000
mov dword [ebp - 0xce8], edx
mov esi, dword [ebp - 0x2b0]
mov dword [ebp - 0xcf0], edx
lea edx, [ebp - 0xcf0]
push eax
mov dword [edx + 4], ecx
mov dword [edx + 0x1c], ecx
mov dword [edx + 0x18], esi
push edx
mov ecx, dword [ebp - 0x580]
mov esi, dword [ebp - 0x240]
push 0x6c81a0
mov dword [edx + 0x10], 2
mov dword [edx + 0x28], ecx
mov dword [edx + 0x24], esi
call fcn.005d7540
add esp, 0xc
mov eax, dword [0x6c81cc]
mov edx, dword [0x6c81c8]
cmp dword [ebp - 0x240], 0
jle 0x4c30d3
imul eax, edx
xor esi, esi
mov dword [ebp - 0x6b4], edi
mov edi, dword [0x6c81c0]
mov ecx, dword [0x6c81a0]
mov dword [ebp - 0x630], edx
mov dword [ebp - 0x570], ecx
lea edx, [edi*8]
sub ecx, eax
sub eax, edx
add ecx, eax
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x568], esi
mov dword [ebp - 0x814], esi
lea ecx, [ecx + edi*8]
shl eax, 3
mov edi, dword [ebp - 0x2b0]
mov dword [ebp - 0x638], eax
mov dword [ebp - 0x634], ecx
test edi, edi
jle 0x4c30a3
cmp edi, 0xc
jle 0x4c2fac
mov edi, dword [ebp - 0x814]
mov esi, dword [ebp - 0x568]
mov ecx, dword [ebp - 0x630]
imul ecx, esi
mov eax, dword [ebp - 0x588]
push dword [ebp - 0x638]
add ecx, dword [ebp - 0x634]
lea edx, [eax + edi]
push edx
push ecx
call fcn.0062a530
add esp, 0xc
mov eax, dword [ebp - 0x2b0]
inc esi
lea edi, [edi + eax*8]
cmp esi, dword [ebp - 0x240]
jae 0x4c30c7
cmp dword [ebp - 0x2b0], 0xc
jg 0x4c2f57
mov dword [ebp - 0x814], edi
mov dword [ebp - 0x568], esi
mov edi, eax
cmp edi, 2
jl 0x4c4065
mov eax, dword [ebp - 0x630]
imul eax, dword [ebp - 0x568]
mov edx, dword [ebp - 0x570]
add edx, eax
and edx, 0xf
je 0x4c2fdd
test dl, 7
jne 0x4c4065
mov edx, 1
lea ecx, [edx + 2]
cmp edi, ecx
jl 0x4c4065
mov ecx, dword [ebp - 0x580]
mov esi, edi
imul ecx, dword [ebp - 0x568]
sub esi, edx
and esi, 1
neg esi
add ecx, dword [ebp - 0x588]
add esi, edi
add eax, dword [ebp - 0x570]
test edx, edx
jbe 0x4c3035
mov dword [ebp - 0x68c], 0
mov edi, dword [ebp - 0x68c]
movsd xmm0, qword [ecx + edi*8]
movsd qword [eax + edi*8], xmm0
inc edi
cmp edi, edx
jb 0x4c3020
mov edi, dword [ebp - 0x2b0]
mov dword [ebp - 0xfd4], esi
lea esi, [ecx + edx*8]
test esi, 0xf
mov esi, dword [ebp - 0xfd4]
je 0x4c305d
movups xmm0, xmmword [ecx + edx*8]
movups xmmword [eax + edx*8], xmm0
add edx, 2
cmp edx, esi
jb 0x4c304c
jmp 0x4c306c
movups xmm0, xmmword [ecx + edx*8]
movups xmmword [eax + edx*8], xmm0
add edx, 2
cmp edx, esi
jb 0x4c305d
cmp esi, edi
jae 0x4c30a3
mov edx, dword [ebp - 0x580]
mov ecx, dword [ebp - 0x568]
mov eax, dword [ebp - 0x630]
imul edx, ecx
imul eax, ecx
add edx, dword [ebp - 0x588]
add eax, dword [ebp - 0x570]
movsd xmm0, qword [edx + esi*8]
movsd qword [eax + esi*8], xmm0
inc esi
cmp esi, edi
jb 0x4c3094
lea esi, [ebp - 0x814]
mov eax, dword [esi]
lea edx, [ebp - 0x568]
mov ecx, dword [edx]
inc ecx
mov dword [edx], ecx
lea edx, [eax + edi*8]
mov dword [esi], edx
cmp ecx, dword [ebp - 0x240]
jb 0x4c2f3e
mov edx, dword [ebp - 0x630]
mov edi, dword [ebp - 0x6b4]
mov eax, dword [ebp - 0x9a4]
mov esp, eax
mov dword [ebp - 0xc98], edx
xor eax, eax
movzx edx, byte [0x6c820d]
and edx, 1
shl edx, 0x15
add edx, 0x40000
mov dword [ebp - 0xcb8], eax
mov dword [ebp - 0xcc0], eax
lea eax, [ebp - 0xcc0]
push edx
push eax
mov dword [ebp - 0x6b4], edi
mov edi, 8
mov esi, dword [0x6c81b8]
mov ecx, dword [0x6c81c4]
mov dword [eax + 4], edi
mov dword [eax + 0x1c], edi
mov edi, 1
mov dword [eax + 0x20], edi
mov dword [eax + 0x2c], edi
mov dword [eax + 0xc], edi
push 0x6c8200
mov dword [ebp - 0x70c], esi
mov dword [ebp - 0x654], ecx
mov dword [eax + 0x10], 2
mov dword [eax + 0x18], esi
mov dword [eax + 0x24], ecx
mov edi, dword [ebp - 0x6b4]
call fcn.005d7540
add esp, 0xc
mov eax, dword [0x6c822c]
mov edx, dword [0x6c8220]
mov dword [ebp - 0x998], eax
mov eax, dword [0x6c81cc]
mov dword [ebp - 0x99c], edx
cmp dword [ebp - 0x654], 0
jle 0x4c344e
mov edx, dword [0x6c8200]
mov esi, dword [0x6c81c8]
imul eax, esi
mov dword [ebp - 0x66c], edx
mov edx, dword [0x6c81c0]
mov ecx, dword [0x6c8228]
mov dword [ebp - 0x6b4], edi
mov edi, dword [0x6c81a0]
mov dword [ebp - 0x6c0], ecx
lea ecx, [edx*8]
mov dword [ebp - 0x678], edi
sub edi, eax
sub eax, ecx
mov ecx, dword [ebp - 0x998]
add edi, eax
imul ecx, dword [0x6c8228]
mov dword [ebp - 0x67c], esi
lea eax, [edi + edx*8]
mov esi, dword [ebp - 0x99c]
mov dword [ebp - 0x700], 0
mov dword [ebp - 0xa64], eax
mov edi, dword [ebp - 0x6b4]
lea edx, [esi*8]
mov esi, dword [0x6c8200]
sub esi, edx
sub edx, ecx
add esi, edx
add esi, ecx
mov dword [ebp - 0xa6c], esi
mov ecx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x70c]
test eax, eax
jle 0x4c343b
cmp eax, 8
jl 0x4c4056
mov esi, dword [ebp - 0x6c0]
imul esi, ecx
mov edx, dword [ebp - 0x66c]
mov dword [ebp - 0x64c], esi
add edx, esi
and edx, 0xf
je 0x4c3264
test dl, 7
jne 0x4c4056
mov edx, 1
lea esi, [edx + 8]
cmp eax, esi
jl 0x4c4056
mov esi, eax
sub esi, edx
and esi, 7
neg esi
add esi, eax
mov dword [ebp - 0x230], esi
mov esi, dword [ebp - 0x67c]
imul esi, ecx
mov edi, dword [ebp - 0x678]
mov dword [ebp - 0x648], esi
add edi, esi
mov dword [ebp - 0x644], edi
mov edi, dword [ebp - 0x66c]
mov esi, dword [ebp - 0x64c]
add esi, edi
mov dword [ebp - 0x640], esi
test edx, edx
jbe 0x4c32e7
mov dword [ebp - 0x6d8], 0
mov eax, dword [ebp - 0x6d8]
mov edi, dword [ebp - 0x644]
movsd xmm0, qword [edi + eax*8]
xorps xmm0, xmmword [0x6817f0]
movsd qword [esi + eax*8], xmm0
inc eax
cmp eax, edx
jb 0x4c32cb
mov eax, dword [ebp - 0x70c]
mov esi, dword [ebp - 0x648]
add esi, dword [ebp - 0xa64]
mov edi, dword [ebp - 0x64c]
add edi, dword [ebp - 0xa6c]
mov dword [ebp - 0x64c], edi
lea edi, [esi + edx*8]
mov dword [ebp - 0x648], esi
test edi, 0xf
je 0x4c337f
mov dword [ebp - 0x700], ecx
mov eax, dword [ebp - 0x64c]
mov ecx, esi
mov esi, dword [ebp - 0x640]
mov edi, dword [ebp - 0x644]
movups xmm0, xmmword [edi + edx*8]
movups xmm1, xmmword [ecx + edx*8 + 0x10]
movups xmm2, xmmword [ecx + edx*8 + 0x20]
movups xmm3, xmmword [ecx + edx*8 + 0x30]
xorps xmm0, xmmword [0x681770]
xorps xmm1, xmmword [0x681770]
xorps xmm2, xmmword [0x681770]
xorps xmm3, xmmword [0x681770]
movups xmmword [esi + edx*8], xmm0
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, dword [ebp - 0x230]
jb 0x4c3330
jmp 0x4c33ed
mov dword [ebp - 0x700], ecx
mov eax, dword [ebp - 0x64c]
mov ecx, esi
mov esi, dword [ebp - 0x640]
mov edi, dword [ebp - 0x644]
nop dword [eax]
movups xmm0, xmmword [edi + edx*8]
movups xmm1, xmmword [ecx + edx*8 + 0x10]
movups xmm2, xmmword [ecx + edx*8 + 0x20]
movups xmm3, xmmword [ecx + edx*8 + 0x30]
xorps xmm0, xmmword [0x681770]
xorps xmm1, xmmword [0x681770]
xorps xmm2, xmmword [0x681770]
xorps xmm3, xmmword [0x681770]
movups xmmword [esi + edx*8], xmm0
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, dword [ebp - 0x230]
jb 0x4c33a0
mov ecx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x70c]
cmp eax, dword [ebp - 0x230]
jbe 0x4c343b
mov esi, dword [ebp - 0x67c]
mov edx, dword [ebp - 0x6c0]
imul esi, ecx
imul edx, ecx
add esi, dword [ebp - 0x678]
add edx, dword [ebp - 0x66c]
mov edi, dword [ebp - 0x230]
movsd xmm0, qword [esi + edi*8]
xorps xmm0, xmmword [0x6817f0]
movsd qword [edx + edi*8], xmm0
inc edi
cmp edi, eax
jb 0x4c3425
inc ecx
cmp ecx, dword [ebp - 0x654]
jb 0x4c3229
mov edi, dword [ebp - 0x6b4]
cmp dword [ebp - 0x10], 0
jle 0x4c360b
mov edx, dword [0x6c8228]
mov ecx, dword [0x6c8200]
cmp edx, 0xfffffff8
je 0x4c404f
cmp dword [ebp - 0x10], 8
jl 0x4c404f
mov esi, dword [ebp - 0x99c]
xor eax, eax
mov dword [ebp - 0x9b8], ecx
mov dword [ebp - 0x6b4], edi
shl esi, 3
neg esi
add esi, ecx
mov ecx, dword [ebp - 0x998]
imul ecx, edx
sub esi, ecx
lea ecx, [edx*8]
sub ecx, edx
add ecx, esi
mov dword [ebp - 0x5b8], ecx
lea ecx, [edx + edx*4]
add ecx, esi
mov dword [ebp - 0x5bc], ecx
lea ecx, [edx + edx*2]
add ecx, esi
add esi, edx
mov dword [ebp - 0x5c4], esi
mov esi, dword [ebp - 0x544]
mov dword [ebp - 0x5c0], ecx
mov ecx, eax
mov dword [ebp - 0x9b4], esi
mov esi, dword [ebp - 0x5c4]
lea esi, [esi + eax*8]
lea edi, [ecx + esi + 8]
movsd xmm0, qword [edi]
movhpd xmm0, qword [edi + edx + 8]
lea edi, [esi + ecx + 8]
addpd xmm0, xmmword [0x681760]
mov esi, dword [ebp - 0x5c0]
movsd qword [edi], xmm0
movhpd qword [edx + edi + 8], xmm0
lea esi, [esi + eax*8]
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 - 0x5bc]
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 - 0x5b8]
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 - 0x544]
jb 0x4c34da
mov ecx, dword [ebp - 0x9b8]
mov esi, dword [ebp - 0x9b4]
mov edi, dword [ebp - 0x6b4]
mov eax, edx
imul eax, esi
mov dword [ebp - 0x990], eax
cmp esi, dword [ebp - 0x10]
jae 0x4c360b
mov eax, dword [ebp - 0x99c]
shl eax, 3
sub ecx, eax
mov eax, dword [ebp - 0x998]
imul eax, edx
sub ecx, eax
mov dword [ebp - 0x6b4], edi
add ecx, edx
mov edi, dword [ebp - 0x990]
lea eax, [ecx + esi*8]
inc esi
movsd xmm0, qword [eax + edi + 8]
addsd xmm0, qword [0x681878]
movsd qword [eax + edi + 8], xmm0
add edi, edx
cmp esi, dword [ebp - 0x10]
jb 0x4c35e6
mov edi, dword [ebp - 0x6b4]
mov edx, dword [0x6c8248]
mov ecx, dword [0x6c8224]
mov dword [ebp - 0x9a0], esp
mov dword [ebp - 0x2ac], edx
lea eax, [edx*8]
imul eax, ecx
mov dword [ebp - 0x244], ecx
add eax, 0xf
and eax, 0xfffffff0
call fcn.0063fc60
mov eax, esp
mov dword [ebp - 0x58c], eax
cmp dword [ebp - 0x244], 0
jle 0x4c368b
cmp dword [ebp - 0x2ac], 0
jle 0x4c368b
mov eax, ecx
imul eax, dword [ebp - 0x2ac]
cmp eax, 0xc
jle 0x4c3ffd
mov eax, ecx
lea edx, [eax*8]
imul edx, dword [ebp - 0x2ac]
push edx
push 0
push dword [ebp - 0x58c]
call fcn.0062a5e0
add esp, 0xc
mov edx, dword [ebp - 0x2ac]
mov esi, dword [0x6c8254]
mov eax, dword [0x6c825c]
mov dword [ebp - 0x664], esi
lea ecx, [edx*8]
mov dword [ebp - 0x584], ecx
test esi, esi
jle 0x4c39d3
mov edx, dword [0x6c8228]
mov ecx, dword [0x6c8258]
imul eax, ecx
mov dword [ebp - 0x23c], edx
mov edx, dword [0x6c8250]
mov dword [ebp - 0x6b4], edi
mov edi, dword [0x6c8230]
mov dword [ebp - 0x6f4], edi
shl edx, 3
sub edi, eax
sub eax, edx
add edi, eax
mov eax, dword [0x6c8250]
mov esi, dword [0x6c8200]
mov dword [ebp - 0x6fc], esi
xor esi, esi
mov dword [ebp - 0x6ec], esi
lea eax, [edi + eax*8]
mov dword [ebp - 0x674], ecx
mov edi, dword [ebp - 0x6b4]
mov ecx, esi
mov dword [ebp - 0x6e0], eax
cmp dword [ebp - 0x244], 0
jle 0x4c39ba
mov edi, dword [ebp - 0x6fc]
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x6e0]
mov dword [ebp - 0x6e4], esi
lea edi, [edi + ecx*8]
mov dword [ebp - 0x6dc], edi
add edx, esi
mov edi, dword [ebp - 0x58c]
add eax, esi
mov dword [ebp - 0x2a4], edi
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x6ec], ecx
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x5c], eax
mov edx, edi
mov esi, dword [ebp - 0x6dc]
mov ecx, dword [ebp - 0x2ac]
test ecx, ecx
jle 0x4c398c
cmp ecx, 8
jl 0x4c3ff6
mov edi, edx
mov eax, 1
and edi, 0xf
cmovne edi, eax
mov dword [ebp - 0x294], edi
lea eax, [edi + 8]
cmp ecx, eax
jl 0x4c3ff6
mov eax, ecx
sub eax, edi
and eax, 7
neg eax
add eax, ecx
test edi, edi
jbe 0x4c37f8
mov dword [ebp - 0x2a8], eax
xor edi, edi
mov eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x58]
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 0x4c37ce
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2ac]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x294]
lea edi, [edx + eax*8]
mov dword [ebp - 0x2a0], edi
mov edi, dword [ebp - 0x5c]
lea eax, [edi + eax*8]
test al, 0xf
mov eax, dword [ebp - 0x2a8]
je 0x4c389f
mov dword [ebp - 0x2a4], edx
mov edx, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x294]
nop dword [eax + eax]
nop dword [eax + eax]
mov edi, dword [ebp - 0x58]
movsd xmm4, qword [esi]
unpcklpd xmm4, xmm4
movups xmm0, xmmword [edi + ecx*8]
mov edi, dword [ebp - 0x5c]
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 0x4c3840
jmp 0x4c391a
mov dword [ebp - 0x2a4], edx
mov edx, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x294]
nop dword [eax + eax]
nop dword [eax]
movsd xmm3, qword [esi]
mov edi, dword [ebp - 0x58]
unpcklpd xmm3, xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
mulpd xmm0, xmmword [edi + ecx*8]
mov edi, dword [ebp - 0x5c]
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 0x4c38c0
mov edx, dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0x2ac]
lea edi, [eax + 1]
cmp edi, ecx
ja 0x4c398c
mov edi, ecx
sub edi, eax
mov dword [ebp - 0x290], edi
lea edi, [edx + eax*8]
mov dword [ebp - 0x29c], edi
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x2a4], edx
mov edx, dword [ebp - 0x29c]
lea eax, [edi + eax*8]
mov ecx, dword [ebp - 0x298]
mov edi, dword [ebp - 0x290]
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 0x4c3968
mov edx, dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x234]
lea edx, [edx + ecx*8]
inc eax
add esi, dword [ebp - 0x23c]
mov dword [ebp - 0x234], eax
cmp eax, dword [ebp - 0x244]
jb 0x4c377f
mov esi, dword [ebp - 0x6e4]
mov ecx, dword [ebp - 0x6ec]
inc ecx
add esi, dword [ebp - 0x674]
cmp ecx, dword [ebp - 0x664]
jb 0x4c371d
mov edi, dword [ebp - 0x6b4]
mov eax, 1
xor edx, edx
mov dword [ebp - 0xc70], eax
mov ecx, 8
mov dword [ebp - 0xc64], eax
mov dword [ebp - 0xc84], eax
movzx eax, byte [0x6c81ad]
and eax, 1
shl eax, 0x15
add eax, 0x40000
mov dword [ebp - 0xc88], edx
mov esi, dword [ebp - 0x2ac]
mov dword [ebp - 0xc90], edx
lea edx, [ebp - 0xc90]
push eax
mov dword [edx + 4], ecx
mov dword [edx + 0x1c], ecx
mov dword [edx + 0x18], esi
push edx
mov ecx, dword [ebp - 0x584]
mov esi, dword [ebp - 0x244]
push 0x6c81a0
mov dword [edx + 0x10], 2
mov dword [edx + 0x28], ecx
mov dword [edx + 0x24], esi
call fcn.005d7540
add esp, 0xc
mov eax, dword [0x6c81cc]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x244], 0
jle 0x4c3c57
mov ecx, dword [0x6c81c8]
xor edx, edx
imul eax, ecx
mov dword [ebp - 0x614], ecx
mov ecx, dword [0x6c81c0]
mov esi, dword [0x6c81a0]
mov dword [ebp - 0x6b4], edi
mov dword [ebp - 0x56c], esi
lea edi, [ecx*8]
sub esi, eax
sub eax, edi
add esi, eax
mov edi, dword [ebp - 0x2ac]
mov dword [ebp - 0x564], edx
mov dword [ebp - 0x80c], edx
lea eax, [esi + ecx*8]
mov dword [ebp - 0x628], eax
lea ecx, [edi*8]
mov edi, dword [ebp - 0x2ac]
mov dword [ebp - 0x62c], ecx
test edi, edi
jle 0x4c3c2d
cmp edi, 0xc
jle 0x4c3b36
mov edi, dword [ebp - 0x80c]
mov esi, dword [ebp - 0x564]
mov ecx, dword [ebp - 0x614]
imul ecx, esi
mov eax, dword [ebp - 0x58c]
push dword [ebp - 0x62c]
add ecx, dword [ebp - 0x628]
lea edx, [eax + edi]
push edx
push ecx
call fcn.0062a530
add esp, 0xc
mov eax, dword [ebp - 0x2ac]
inc esi
lea edi, [edi + eax*8]
cmp esi, dword [ebp - 0x244]
jae 0x4c3c51
cmp dword [ebp - 0x2ac], 0xc
jg 0x4c3ae1
mov dword [ebp - 0x80c], edi
mov dword [ebp - 0x564], esi
mov edi, eax
cmp edi, 2
jl 0x4c3fef
mov eax, dword [ebp - 0x614]
imul eax, dword [ebp - 0x564]
mov edx, dword [ebp - 0x56c]
add edx, eax
and edx, 0xf
je 0x4c3b67
test dl, 7
jne 0x4c3fef
mov edx, 1
lea ecx, [edx + 2]
cmp edi, ecx
jl 0x4c3fef
mov ecx, dword [ebp - 0x584]
mov esi, edi
imul ecx, dword [ebp - 0x564]
sub esi, edx
and esi, 1
neg esi
add ecx, dword [ebp - 0x58c]
add esi, edi
add eax, dword [ebp - 0x56c]
test edx, edx
jbe 0x4c3bbf
mov dword [ebp - 0x684], 0
mov edi, dword [ebp - 0x684]
movsd xmm0, qword [ecx + edi*8]
movsd qword [eax + edi*8], xmm0
inc edi
cmp edi, edx
jb 0x4c3baa
mov edi, dword [ebp - 0x2ac]
mov dword [ebp - 0xfd0], esi
lea esi, [ecx + edx*8]
test esi, 0xf
mov esi, dword [ebp - 0xfd0]
je 0x4c3be7
movups xmm0, xmmword [ecx + edx*8]
movups xmmword [eax + edx*8], xmm0
add edx, 2
cmp edx, esi
jb 0x4c3bd6
jmp 0x4c3bf6
movups xmm0, xmmword [ecx + edx*8]
movups xmmword [eax + edx*8], xmm0
add edx, 2
cmp edx, esi
jb 0x4c3be7
cmp esi, edi
jae 0x4c3c2d
mov edx, dword [ebp - 0x584]
mov ecx, dword [ebp - 0x564]
mov eax, dword [ebp - 0x614]
imul edx, ecx
imul eax, ecx
add edx, dword [ebp - 0x58c]
add eax, dword [ebp - 0x56c]
movsd xmm0, qword [edx + esi*8]
movsd qword [eax + esi*8], xmm0
inc esi
cmp esi, edi
jb 0x4c3c1e
lea esi, [ebp - 0x80c]
mov eax, dword [esi]
lea edx, [ebp - 0x564]
mov ecx, dword [edx]
inc ecx
mov dword [edx], ecx
lea edx, [eax + edi*8]
mov dword [esi], edx
cmp ecx, dword [ebp - 0x244]
jb 0x4c3ac8
mov edi, dword [ebp - 0x6b4]
mov eax, dword [ebp - 0x9a0]
mov esp, eax
mov esi, dword [0x6c825c]
mov edx, dword [0x6c60dc]
mov eax, dword [0x76e588]
mov dword [ebp - 0x140], esi
mov esi, dword [0x6c60e4]
mov dword [ebp - 0x61c], edx
mov dword [ebp - 0x1e8], eax
test edx, edx
jle 0x4c3f34
mov eax, dword [0x6c8258]
mov edx, dword [0x6c60d0]
mov dword [ebp - 0x578], eax
mov dword [ebp - 0x8bc], edx
mov eax, dword [0x6c60ec]
mov edx, dword [ebp - 0x1e8]
imul edx, eax
imul eax, dword [0x6c60f0]
mov dword [ebp - 0x6b4], edi
mov edi, dword [0x6c8230]
add edx, dword [0x6c60b8]
mov ecx, dword [0x6c60e0]
imul esi, ecx
mov dword [ebp - 0x574], edi
mov edi, edx
sub edi, eax
add eax, esi
mov dword [ebp - 0x590], edi
sub edx, eax
mov edi, dword [0x6c60d8]
mov dword [ebp - 0x618], ecx
mov dword [ebp - 0x57c], 0
lea ecx, [edi*8]
sub esi, ecx
add edx, esi
mov ecx, dword [0x6c8230]
lea esi, [edx + edi*8]
mov edx, dword [ebp - 0x140]
imul edx, dword [0x6c8258]
mov dword [ebp - 0x610], esi
sub ecx, edx
mov esi, dword [0x6c8250]
mov edi, dword [0x6c60d0]
lea eax, [esi*8]
sub edx, eax
add ecx, edx
lea edx, [edi*8]
mov eax, dword [ebp - 0x57c]
mov edi, dword [ebp - 0x6b4]
mov dword [ebp - 0x804], eax
mov dword [ebp - 0x624], edx
lea ecx, [ecx + esi*8]
mov dword [ebp - 0x620], ecx
mov ecx, dword [ebp - 0x8bc]
test ecx, ecx
jle 0x4c3f0b
cmp ecx, 0xc
jle 0x4c3dde
mov edi, dword [ebp - 0x804]
mov esi, dword [ebp - 0x57c]
mov ecx, dword [ebp - 0x618]
imul ecx, esi
mov eax, dword [ebp - 0x620]
push dword [ebp - 0x624]
add ecx, dword [ebp - 0x610]
lea edx, [eax + edi]
push edx
push ecx
call fcn.0062a530
add esp, 0xc
inc esi
add edi, dword [ebp - 0x578]
cmp esi, dword [ebp - 0x61c]
jae 0x4c3f2e
cmp dword [ebp - 0x8bc], 0xc
jg 0x4c3d88
mov dword [ebp - 0x804], edi
mov dword [ebp - 0x57c], esi
mov ecx, dword [ebp - 0x8bc]
cmp ecx, 2
jl 0x4c3fe0
mov eax, dword [ebp - 0x618]
imul eax, dword [ebp - 0x57c]
mov edx, dword [ebp - 0x590]
add edx, eax
and edx, 0xf
je 0x4c3e0f
test dl, 7
jne 0x4c3fe0
mov edx, 1
lea esi, [edx + 2]
cmp ecx, esi
jl 0x4c3fe0
mov esi, ecx
sub esi, edx
and esi, 1
neg esi
add esi, ecx
mov dword [ebp - 0x59c], esi
mov esi, dword [ebp - 0x578]
imul esi, dword [ebp - 0x57c]
mov edi, dword [ebp - 0x574]
add eax, dword [ebp - 0x590]
mov dword [ebp - 0x598], esi
add edi, esi
mov dword [ebp - 0x594], edi
test edx, edx
jbe 0x4c3e75
mov dword [ebp - 0x680], 0
mov esi, dword [ebp - 0x680]
movsd xmm0, qword [edi + esi*8]
movsd qword [eax + esi*8], xmm0
inc esi
cmp esi, edx
jb 0x4c3e66
mov esi, dword [ebp - 0x598]
add esi, dword [ebp - 0x620]
lea edi, [esi + edx*8]
test edi, 0xf
je 0x4c3ea9
mov esi, dword [ebp - 0x59c]
mov edi, dword [ebp - 0x594]
movups xmm0, xmmword [edi + edx*8]
movups xmmword [eax + edx*8], xmm0
add edx, 2
cmp edx, esi
jb 0x4c3e98
jmp 0x4c3ec4
mov esi, dword [ebp - 0x59c]
mov edi, dword [ebp - 0x594]
movups xmm0, xmmword [edi + edx*8]
movups xmmword [eax + edx*8], xmm0
add edx, 2
cmp edx, esi
jb 0x4c3eb5
mov dword [ebp - 0x59c], esi
cmp ecx, dword [ebp - 0x59c]
jbe 0x4c3f0b
mov edx, dword [ebp - 0x618]
mov esi, dword [ebp - 0x57c]
mov eax, dword [ebp - 0x578]
imul edx, esi
imul eax, esi
add edx, dword [ebp - 0x590]
add eax, dword [ebp - 0x574]
mov esi, dword [ebp - 0x59c]
movsd xmm0, qword [eax + esi*8]
movsd qword [edx + esi*8], xmm0
inc esi
cmp esi, ecx
jb 0x4c3efc
lea esi, [ebp - 0x57c]
mov edx, dword [esi]
mov eax, dword [ebp - 0x578]
inc edx
add dword [ebp - 0x804], eax
mov dword [esi], edx
cmp edx, dword [ebp - 0x61c]
jb 0x4c3d6f
mov edi, dword [ebp - 0x6b4]
mov ecx, dword [0x6c8280]
shl ecx, 3
sub edi, ecx
mov esi, dword [0x6c8260]
mov edx, dword [ebp - 0x2c8]
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x138], ecx
add edi, esi
mov esi, edx
mov eax, dword [0x6c8288]
mov ecx, dword [0x6c828c]
imul ecx, eax
imul esi, eax
mov dword [ebp - 0x134], eax
sub esi, ecx
mov dword [ebp - 0x148], edx
lea eax, [edx*8]
mov dword [ebp - 0x1dc], edi
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x12c], eax
jmp 0x4c1141
mov dword [ebp - 0x8a8], 0
jmp 0x4c1ea4
mov eax, dword [0x6c81d0]
mov dword [ebp - 0x9b0], eax
jmp 0x4c1f51
mov dword [ebp - 0x984], 0
jmp 0x4c20c4
shl edx, 3
mov dword [ebp - 0x984], 0
neg edx
jmp 0x4c20c4
mov dword [ebp - 0x59c], 0
jmp 0x4c3eca
xor esi, esi
jmp 0x4c3bf6
xor eax, eax
jmp 0x4c3926
imul edx, dword [ebp - 0x244]
cmp edx, 4
jl 0x4c404b
mov eax, edx
xor ecx, ecx
mov esi, dword [ebp - 0x58c]
and eax, 0xfffffffc
pxor xmm0, xmm0
movups xmmword [esi + ecx*8], xmm0
movups xmmword [esi + ecx*8 + 0x10], xmm0
add ecx, 4
cmp ecx, eax
jb 0x4c401a
cmp eax, edx
jae 0x4c368b
mov ecx, dword [ebp - 0x58c]
pxor xmm0, xmm0
movsd qword [ecx + eax*8], xmm0
inc eax
cmp eax, edx
jb 0x4c403c
jmp 0x4c368b
xor eax, eax
jmp 0x4c402a
xor esi, esi
jmp 0x4c35b2
mov dword [ebp - 0x230], 0
jmp 0x4c33f9
xor esi, esi
jmp 0x4c306c
xor eax, eax
jmp 0x4c2da6
imul edx, dword [ebp - 0x240]
cmp edx, 4
jl 0x4c40c1
mov eax, edx
xor ecx, ecx
mov esi, dword [ebp - 0x588]
and eax, 0xfffffffc
pxor xmm0, xmm0
movups xmmword [esi + ecx*8], xmm0
movups xmmword [esi + ecx*8 + 0x10], xmm0
add ecx, 4
cmp ecx, eax
jb 0x4c4090
cmp eax, edx
jae 0x4c2b0b
mov ecx, dword [ebp - 0x588]
pxor xmm0, xmm0
movsd qword [ecx + eax*8], xmm0
inc eax
cmp eax, edx
jb 0x4c40b2
jmp 0x4c2b0b
xor eax, eax
jmp 0x4c40a0
xor esi, esi
jmp 0x4c2a3f
mov dword [ebp - 0x5c8], 1
jmp 0x4c27ec
mov edx, 1
jmp 0x4c2620
mov ecx, 1
jmp 0x4c2471
mov ecx, 1
jmp 0x4c2382
mov esi, eax
mov eax, esi
shr eax, 1
mov edx, esi
mov ecx, esi
and eax, 1
shr ecx, 0xb
and edx, 1
shl eax, 2
add edx, edx
shr esi, 8
and ecx, 1
shl ecx, 8
or eax, edx
and esi, 1
or eax, ecx
shl esi, 0x15
or eax, esi
add eax, 0x40000
push eax
push dword [0x6c81d0]
call fcn.005c1250
add esp, 8
mov eax, dword [ebp - 0xaf0]
and eax, 0xfffff7fe
mov dword [ebp - 0x9b0], 0
mov dword [0x6c81d0], 0
mov dword [0x6c81dc], eax
mov ecx, dword [0x6c81f8]
mov edx, dword [0x6c81fc]
jmp 0x4c1f51
xor edi, edi
jmp 0x4c1bcf
xor eax, eax
jmp 0x4c18f6
mov eax, esi
imul eax, dword [ebp - 0x228]
cmp eax, 4
jl 0x4c41d9
mov ecx, eax
xor edx, edx
mov dword [ebp - 0x6b4], edi
and ecx, 0xfffffffc
mov edi, dword [ebp - 0x560]
pxor xmm0, xmm0
movups xmmword [edi + edx*8], xmm0
movups xmmword [edi + edx*8 + 0x10], xmm0
add edx, 4
cmp edx, ecx
jb 0x4c41a2
mov edi, dword [ebp - 0x6b4]
cmp ecx, eax
jae 0x4c16a9
mov edx, dword [ebp - 0x560]
pxor xmm0, xmm0
movsd qword [edx + ecx*8], xmm0
inc ecx
cmp ecx, eax
jb 0x4c41ca
jmp 0x4c16a9
xor ecx, ecx
jmp 0x4c41b8
mov edi, dword [ebp - 0x90]
test edi, edi
jne 0x4c62c8
cmp dword [ebp - 0x10], 0
jle 0x4c62b4
mov eax, dword [0x6c81cc]
mov dword [ebp - 0xc0], eax
mov ecx, dword [0x6c81a0]
mov eax, dword [0x6c81c8]
mov esi, dword [0x6c81c0]
mov edi, dword [ebp - 0xc0]
mov edx, eax
imul edi, eax
movsd xmm0, qword [0x681820]
shl esi, 3
sub ecx, edi
sub edx, esi
mov dword [ebp - 0xe4], 1
mov dword [ebp - 0xdc], eax
lea edi, [ecx + edx]
mov dword [ebp - 0xec], edi
mov edi, esi
neg edi
add edi, ecx
mov dword [ebp - 0x478], edi
lea edi, [eax + ecx]
sub edi, esi
mov dword [ebp - 0xe8], edi
mov edi, ecx
sub edi, esi
mov dword [ebp - 0x40], edi
mov edi, eax
neg edi
add edi, ecx
add edx, edi
lea edi, [eax + eax]
sub edi, esi
mov dword [ebp - 0x474], edx
lea edx, [ecx + eax*2]
add ecx, edi
sub edx, esi
mov dword [ebp - 0x470], edx
mov dword [ebp - 0x46c], ecx
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x40]
lea eax, [esi + ecx*8]
mov esi, dword [ebp - 0xdc]
imul esi, ecx
movsd xmm1, qword [eax + esi]
andps xmm1, xmmword [0x6817e0]
mov dword [ebp - 0x430], eax
comisd xmm0, xmm1
ja 0x4c62a9
movsd xmm1, qword [0x681878]
xorps xmm1, xmmword [0x6817f0]
divsd xmm1, qword [eax + esi]
movsd qword [eax + esi], xmm1
test edx, edx
jle 0x4c4558
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0x458], esi
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xcc], 0
lea eax, [edi + ecx*8]
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], edx
lea eax, [edi + esi]
mov edi, edx
mov dword [ebp - 0x1c], eax
lea esi, [esi + ecx*8]
mov dword [ebp - 0x2c], esi
lea esi, [ecx - 1]
cmp esi, edx
mov dword [ebp - 0xd4], esi
cmovb edi, esi
xor esi, esi
test ecx, ecx
cmovg esi, ecx
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xd0], edi
shr edi, 1
mov dword [ebp - 0x24], edi
lea ecx, [esi + 1]
mov dword [ebp - 0xc], ecx
mov ecx, edx
sub ecx, esi
lea eax, [eax + esi*8]
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0xd8], ecx
shr ecx, 1
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x30], eax
mov esi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0xcc]
inc edx
mov dword [ebp - 0xcc], edx
cmp edx, dword [ebp - 0xe4]
je 0x4c4534
cmp dword [ebp - 0xd4], 0
jle 0x4c444f
cmp dword [ebp - 0x24], 0
jbe 0x4c629f
mov ecx, dword [ebp - 0xe8]
xor edx, edx
mov dword [ebp - 0x38], eax
mov edi, edx
add ecx, eax
mov dword [ebp - 0x3c], ecx
nop
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
movsd xmm1, qword [edx + esi]
mulsd xmm1, qword [eax + ecx]
mov eax, dword [ebp - 0x1c]
mulsd xmm1, qword [edi + eax + 8]
mov eax, dword [ebp - 0x3c]
addsd xmm1, qword [edi + eax + 8]
movsd qword [edi + eax + 8], xmm1
movsd xmm2, qword [edx + esi]
mov edx, dword [ebp - 0x38]
mulsd xmm2, qword [edx + ecx]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
inc edx
mulsd xmm2, qword [edi + ecx + 0x10]
addsd xmm2, qword [edi + eax + 0x10]
movsd qword [edi + eax + 0x10], xmm2
add edi, 0x10
cmp edx, dword [ebp - 0x24]
jb 0x4c43b0
mov eax, dword [ebp - 0x38]
lea ecx, [edx + edx + 1]
lea edx, [ecx - 1]
cmp edx, dword [ebp - 0xd0]
jae 0x4c444f
mov esi, dword [ebp - 0xe8]
mov edi, dword [ebp - 0x2c]
lea edx, [esi + ecx*8]
mov esi, dword [ebp - 0x40]
movsd xmm1, qword [edi + esi]
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x1c]
mulsd xmm1, qword [eax + edi]
mulsd xmm1, qword [esi + ecx*8]
addsd xmm1, qword [edx + eax]
movsd qword [edx + eax], xmm1
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x10]
ja 0x4c4534
cmp dword [ebp - 0x20], 0
jbe 0x4c6295
mov ecx, dword [ebp - 0xec]
xor edx, edx
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0x38], eax
lea esi, [ecx + eax]
mov eax, edx
lea ecx, [esi + edi*8]
mov dword [ebp - 0x34], ecx
nop dword [eax + eax]
nop dword [eax]
mov ecx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x14], edx
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x38]
movsd xmm1, qword [ecx + edi]
mulsd xmm1, qword [edx + esi]
mov edx, dword [ebp - 0x30]
mulsd xmm1, qword [eax + edx + 8]
mov edx, dword [ebp - 0x34]
addsd xmm1, qword [eax + edx + 8]
movsd qword [eax + edx + 8], xmm1
movsd xmm2, qword [ecx + edi]
mov ecx, dword [ebp - 0x38]
mulsd xmm2, qword [ecx + esi]
mov esi, dword [ebp - 0x30]
mulsd xmm2, qword [eax + esi + 0x10]
addsd xmm2, qword [eax + edx + 0x10]
movsd qword [eax + edx + 0x10], xmm2
add eax, 0x10
mov edx, dword [ebp - 0x14]
inc edx
cmp edx, dword [ebp - 0x20]
jb 0x4c4490
mov eax, ecx
lea ecx, [edx + edx + 1]
lea edx, [ecx - 1]
cmp edx, dword [ebp - 0xd8]
jae 0x4c4534
add ecx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe8]
mov edi, dword [ebp - 0x2c]
lea edx, [esi + ecx*8]
mov esi, dword [ebp - 0x40]
movsd xmm1, qword [edi + esi]
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x1c]
mulsd xmm1, qword [eax + edi]
mulsd xmm1, qword [esi + ecx*8]
addsd xmm1, qword [edx + eax]
movsd qword [edx + eax], xmm1
mov edx, dword [ebp - 0xcc]
add eax, dword [ebp - 0xdc]
cmp edx, dword [ebp - 0x10]
jb 0x4c436c
mov esi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x10]
test edx, edx
jle 0x4c48c2
mov eax, edx
lea edi, [ecx - 1]
cmp edi, edx
cmovb eax, edi
mov dword [ebp - 0x450], eax
test edi, edi
jle 0x4c46f3
shr eax, 1
mov dword [ebp - 0x154], eax
test eax, eax
jbe 0x4c628b
mov edi, dword [ebp - 0xec]
xor eax, eax
mov dword [ebp - 0x464], eax
mov dword [ebp - 0x458], esi
mov dword [ebp - 0x170], eax
lea edi, [edi + ecx*8]
mov dword [ebp - 0x15c], edi
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0x10], edx
add edi, esi
mov dword [ebp - 0x160], edi
lea edi, [esi + ecx*8]
mov dword [ebp - 0x164], edi
mov edi, dword [ebp - 0x46c]
mov esi, dword [ebp - 0x464]
lea edi, [edi + ecx*8]
mov dword [ebp - 0x16c], edi
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x164]
mov edi, dword [ebp - 0x15c]
mov dword [ebp - 0x14c], eax
movsd xmm1, qword [edx + ecx]
xorps xmm1, xmmword [0x6817f0]
mulsd xmm1, qword [edi + esi*2]
movsd qword [edi + esi*2], xmm1
mov eax, dword [ebp - 0x160]
mov edi, dword [ebp - 0x170]
movsd xmm2, qword [edx + ecx]
xorps xmm2, xmmword [0x6817f0]
mulsd xmm2, qword [edi + eax + 8]
movsd qword [edi + eax + 8], xmm2
mov edi, dword [ebp - 0x16c]
movsd xmm3, qword [edx + ecx]
xorps xmm3, xmmword [0x6817f0]
mulsd xmm3, qword [edi + esi*2]
movsd qword [edi + esi*2], xmm3
movsd xmm4, qword [edx + ecx]
mov edx, dword [ebp - 0x170]
xorps xmm4, xmmword [0x6817f0]
add esi, dword [ebp - 0xdc]
mulsd xmm4, qword [edx + eax + 0x10]
movsd qword [edx + eax + 0x10], xmm4
add edx, 0x10
mov eax, dword [ebp - 0x14c]
inc eax
mov dword [ebp - 0x170], edx
cmp eax, dword [ebp - 0x154]
jb 0x4c45dd
mov esi, dword [ebp - 0x458]
lea edi, [eax + eax + 1]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x10]
lea eax, [edi - 1]
cmp eax, dword [ebp - 0x450]
jae 0x4c46f3
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0xdc]
imul edx, edi
mov eax, dword [ebp - 0x430]
add edx, dword [ebp - 0x478]
movsd xmm1, qword [eax + esi]
xorps xmm1, xmmword [0x6817f0]
mulsd xmm1, qword [edx + ecx*8]
movsd qword [edx + ecx*8], xmm1
mov edx, dword [ebp - 0x40]
movsd xmm2, qword [eax + esi]
xorps xmm2, xmmword [0x6817f0]
lea edi, [edx + edi*8]
mov edx, dword [ebp - 0x10]
mulsd xmm2, qword [edi + esi]
movsd qword [edi + esi], xmm2
xor eax, eax
test ecx, ecx
cmovg eax, ecx
lea edi, [eax + 1]
cmp edi, edx
ja 0x4c48c2
mov edi, edx
sub edi, eax
mov dword [ebp - 0x454], edi
shr edi, 1
mov dword [ebp - 0x174], edi
test edi, edi
jbe 0x4c627c
mov dword [ebp - 0x10], edx
lea edi, [esi + ecx*8]
mov dword [ebp - 0x17c], edi
mov edi, dword [ebp - 0xdc]
imul edi, eax
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x458], esi
lea edx, [edx + ecx*8]
add edx, edi
mov dword [ebp - 0x178], edx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0xe4], ecx
add edx, esi
lea edx, [edx + eax*8]
mov dword [ebp - 0x168], edx
mov edx, dword [ebp - 0x470]
lea edx, [edx + ecx*8]
add edi, edx
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x460], edx
mov dword [ebp - 0x468], edx
mov eax, dword [ebp - 0x468]
mov edx, dword [ebp - 0x460]
mov dword [ebp - 0x150], edi
mov ecx, dword [ebp - 0x17c]
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x178]
movsd xmm1, qword [ecx + esi]
xorps xmm1, xmmword [0x6817f0]
mulsd xmm1, qword [edi + edx*2]
movsd qword [edi + edx*2], xmm1
mov edi, dword [ebp - 0x168]
movsd xmm2, qword [ecx + esi]
xorps xmm2, xmmword [0x6817f0]
mulsd xmm2, qword [eax + edi + 8]
movsd qword [eax + edi + 8], xmm2
mov edi, dword [ebp - 0x150]
movsd xmm3, qword [ecx + esi]
xorps xmm3, xmmword [0x6817f0]
mulsd xmm3, qword [edi + edx*2]
movsd qword [edi + edx*2], xmm3
movsd xmm4, qword [ecx + esi]
mov ecx, dword [ebp - 0x168]
xorps xmm4, xmmword [0x6817f0]
mov esi, dword [ebp - 0x158]
mulsd xmm4, qword [eax + ecx + 0x10]
inc esi
movsd qword [eax + ecx + 0x10], xmm4
add eax, 0x10
add edx, dword [ebp - 0xdc]
mov dword [ebp - 0x158], esi
cmp esi, dword [ebp - 0x174]
jb 0x4c479e
mov edi, esi
mov eax, dword [ebp - 0x45c]
mov esi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0xe4]
lea edi, [edi + edi + 1]
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x44c], edi
mov edi, dword [ebp - 0x44c]
lea edi, [edi - 1]
cmp edi, dword [ebp - 0x454]
jae 0x4c48c2
add eax, dword [ebp - 0x44c]
mov edi, dword [ebp - 0xdc]
imul edi, eax
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x430]
add edi, dword [ebp - 0x474]
movsd xmm1, qword [edx + esi]
xorps xmm1, xmmword [0x6817f0]
mulsd xmm1, qword [edi + ecx*8]
movsd qword [edi + ecx*8], xmm1
mov edi, dword [ebp - 0x40]
movsd xmm2, qword [edx + esi]
xorps xmm2, xmmword [0x6817f0]
mov edx, dword [ebp - 0x10]
lea eax, [edi + eax*8]
mulsd xmm2, qword [eax + esi]
movsd qword [eax + esi], xmm2
inc ecx
cmp ecx, edx
jle 0x4c4291
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0x10], edx
mov edx, ecx
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0xb30], eax
xor edx, edx
movzx eax, byte [0x6c81ad]
mov edi, 8
and eax, 1
shl eax, 0x15
add eax, 0x40000
mov dword [ebp - 0xb50], edx
mov dword [ebp - 0xb58], edx
lea edx, [ebp - 0xb58]
push eax
push edx
mov ecx, dword [0x6c81b8]
mov esi, dword [0x6c81c4]
mov dword [edx + 4], edi
mov dword [edx + 0x1c], edi
mov edi, 1
push 0x6c81a0
mov dword [ebp - 0x4c8], ecx
mov dword [edx + 0x10], 2
mov dword [edx + 0x20], edi
mov dword [edx + 0x18], ecx
mov dword [edx + 0x2c], edi
mov dword [edx + 0x24], esi
mov dword [edx + 0xc], edi
call fcn.005d7540
add esp, 0xc
mov eax, dword [0x6c81cc]
mov dword [ebp - 0xc0], eax
test esi, esi
jle 0x4c4b37
mov edx, dword [0x6c81c0]
xor edi, edi
mov ecx, dword [0x6c81c8]
mov eax, dword [0x6c81a0]
mov dword [ebp - 0x480], esi
mov dword [ebp - 0x47c], eax
xor eax, eax
mov dword [ebp - 0x488], edi
mov dword [ebp - 0x484], ecx
mov dword [ebp - 0x4d4], edx
mov esi, dword [ebp - 0x4c8]
test esi, esi
jle 0x4c4b18
cmp esi, 8
jl 0x4c626d
mov edx, dword [ebp - 0x4d4]
mov edi, dword [ebp - 0xc0]
imul edi, dword [ebp - 0x484]
mov dword [ebp - 0x4dc], edi
lea ecx, [edx*8]
mov dword [ebp - 0x4d8], ecx
mov ecx, dword [ebp - 0x47c]
mov edx, ecx
sub edx, edi
mov dword [ebp - 0x4e4], edx
add ecx, eax
and ecx, 0xf
je 0x4c49fd
test cl, 7
jne 0x4c626d
mov ecx, 1
lea edx, [ecx + 8]
cmp esi, edx
jl 0x4c626d
mov edx, esi
sub edx, ecx
mov edi, dword [ebp - 0x47c]
and edx, 7
neg edx
add edx, esi
mov dword [ebp - 0x490], edx
lea edx, [eax + edi]
mov dword [ebp - 0x48c], edx
test ecx, ecx
jbe 0x4c4a53
mov dword [ebp - 0x4d0], 0
mov edi, dword [ebp - 0x4d0]
movsd xmm0, qword [edx]
inc edi
xorps xmm0, xmmword [0x6817f0]
movsd qword [edx], xmm0
add edx, 8
cmp edi, ecx
jb 0x4c4a3c
mov edi, dword [ebp - 0x4dc]
sub edi, dword [ebp - 0x4d8]
mov edx, dword [ebp - 0x4e4]
add edx, edi
mov edi, dword [ebp - 0x4d4]
lea edx, [edx + edi*8]
mov edi, dword [ebp - 0x48c]
add edx, eax
mov dword [ebp - 0x4cc], edx
mov edx, dword [ebp - 0x490]
mov esi, dword [ebp - 0x4cc]
nop word [eax + eax]
movups xmm0, xmmword [edi + ecx*8]
xorps xmm0, xmmword [0x681770]
movups xmmword [edi + ecx*8], xmm0
movups xmm1, xmmword [esi + ecx*8 + 0x10]
movups xmm2, xmmword [esi + ecx*8 + 0x20]
movups xmm3, xmmword [esi + ecx*8 + 0x30]
xorps xmm1, xmmword [0x681770]
xorps xmm2, xmmword [0x681770]
xorps xmm3, xmmword [0x681770]
movups xmmword [esi + ecx*8 + 0x10], xmm1
movups xmmword [esi + ecx*8 + 0x20], xmm2
movups xmmword [esi + ecx*8 + 0x30], xmm3
add ecx, 8
cmp ecx, edx
jb 0x4c4a90
mov dword [ebp - 0x490], edx
mov esi, dword [ebp - 0x4c8]
cmp esi, dword [ebp - 0x490]
jbe 0x4c4b18
mov edx, dword [ebp - 0x47c]
mov edi, dword [ebp - 0x490]
lea ecx, [eax + edx]
lea edx, [ecx + edi*8]
mov ecx, edi
movsd xmm0, qword [edx]
inc ecx
xorps xmm0, xmmword [0x6817f0]
movsd qword [edx], xmm0
add edx, 8
cmp ecx, esi
jb 0x4c4b01
mov edx, dword [ebp - 0x488]
inc edx
add eax, dword [ebp - 0x484]
mov dword [ebp - 0x488], edx
cmp edx, dword [ebp - 0x480]
jb 0x4c49a1
mov edi, dword [0x6c81b8]
mov esi, dword [0x6c8284]
mov dword [ebp - 0x81c], esp
lea eax, [edi*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 0x4c4b97
test edi, edi
jle 0x4c4b97
mov eax, esi
imul eax, edi
cmp eax, 0xc
jle 0x4c6211
lea eax, [esi*8]
imul eax, edi
push eax
push 0
push dword [ebp - 0x10c]
call fcn.0062a5e0
add esp, 0xc
mov edx, dword [0x6c81c4]
test edx, edx
jle 0x4c4f63
mov eax, dword [0x6c8260]
mov ecx, dword [0x6c81c0]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xa4], ecx
mov eax, dword [0x6c8288]
mov ecx, dword [0x6c81a0]
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xa8], ecx
lea ecx, [edi*8]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x428], edx
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0x110], edi
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xbc]
test esi, esi
jle 0x4c4f50
mov dword [ebp - 0xbc], eax
lea edi, [edx + eax]
mov dword [ebp - 0xc4], edi
xor ecx, ecx
mov dword [ebp - 0xb4], esi
mov edx, dword [ebp - 0x110]
test edx, edx
jle 0x4c4f2b
cmp edx, 8
jl 0x4c620a
mov eax, dword [ebp - 0xf0]
mov esi, 1
imul eax, ecx
add eax, dword [ebp - 0x10c]
mov dword [ebp - 0x104], eax
and eax, 0xf
cmovne eax, esi
mov dword [ebp - 0xf4], eax
lea edi, [eax + 8]
cmp edx, edi
jl 0x4c620a
mov esi, edx
sub esi, eax
and esi, 7
neg esi
add esi, edx
mov dword [ebp - 0x9c], esi
mov esi, dword [ebp - 0xc4]
sub esi, dword [ebp - 0xc0]
imul esi, dword [0x6c81c8]
mov edi, dword [ebp - 0xa4]
add esi, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], esi
shl edi, 3
neg edi
add edi, esi
mov dword [ebp - 0xc8], edi
mov esi, dword [ebp - 0xa0]
mov edi, dword [ebp - 0xbc]
lea esi, [esi + edi*8]
mov edi, dword [ebp - 0xb8]
imul edi, ecx
test eax, eax
mov eax, dword [ebp - 0x9c]
jbe 0x4c4d42
mov dword [ebp - 0xf8], 0
movsd xmm0, qword [edi + esi]
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xb0]
mov edi, dword [ebp - 0x104]
movaps xmm1, xmm0
mulsd xmm1, qword [esi + ecx*8]
addsd xmm1, qword [edi + ecx*8]
movsd qword [edi + ecx*8], xmm1
inc ecx
cmp ecx, edx
jb 0x4c4d0d
mov dword [ebp - 0xf4], edx
mov edi, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x114]
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x9c], eax
mov edi, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xf4]
add edi, eax
mov eax, dword [ebp - 0xc8]
lea eax, [eax + edi*8]
mov edi, dword [ebp - 0x11c]
test al, 0xf
mov eax, dword [ebp - 0x9c]
je 0x4c4df9
movsd xmm0, qword [edi + esi]
mov dword [ebp - 0x110], edx
unpcklpd xmm0, xmm0
mov edx, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xb0]
mov edi, dword [ebp - 0x104]
nop word [eax + eax]
movups xmm1, xmmword [esi + edx*8]
movups xmm2, xmmword [esi + edx*8 + 0x10]
movups xmm3, xmmword [esi + edx*8 + 0x20]
movups xmm4, xmmword [esi + edx*8 + 0x30]
mulpd xmm1, xmm0
mulpd xmm2, xmm0
mulpd xmm3, xmm0
mulpd xmm4, xmm0
addpd xmm1, xmmword [edi + edx*8]
addpd xmm2, xmmword [edi + edx*8 + 0x10]
addpd xmm3, xmmword [edi + edx*8 + 0x20]
addpd xmm4, xmmword [edi + edx*8 + 0x30]
movups xmmword [edi + edx*8], xmm1
movups xmmword [edi + edx*8 + 0x10], xmm2
movups xmmword [edi + edx*8 + 0x20], xmm3
movups xmmword [edi + edx*8 + 0x30], xmm4
add edx, 8
cmp edx, eax
jb 0x4c4da0
jmp 0x4c4e74
movsd xmm0, qword [edi + esi]
mov dword [ebp - 0x110], edx
unpcklpd xmm0, xmm0
mov edx, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xb0]
mov edi, dword [ebp - 0x104]
nop word [eax + eax]
movaps xmm1, xmm0
movaps xmm2, xmm0
movaps xmm3, xmm0
movaps xmm4, xmm0
mulpd xmm1, xmmword [esi + edx*8]
mulpd xmm2, xmmword [esi + edx*8 + 0x10]
mulpd xmm3, xmmword [esi + edx*8 + 0x20]
mulpd xmm4, xmmword [esi + edx*8 + 0x30]
addpd xmm1, xmmword [edi + edx*8]
addpd xmm2, xmmword [edi + edx*8 + 0x10]
addpd xmm3, xmmword [edi + edx*8 + 0x20]
addpd xmm4, xmmword [edi + edx*8 + 0x30]
movups xmmword [edi + edx*8], xmm1
movups xmmword [edi + edx*8 + 0x10], xmm2
movups xmmword [edi + edx*8 + 0x20], xmm3
movups xmmword [edi + edx*8 + 0x30], xmm4
add edx, 8
cmp edx, eax
jb 0x4c4e20
mov edx, dword [ebp - 0x110]
lea esi, [eax + 1]
cmp esi, edx
ja 0x4c4f2b
mov dword [ebp - 0x110], edx
sub edx, eax
mov dword [ebp - 0x100], edx
mov esi, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xbc]
mov edi, dword [ebp - 0xb8]
mov dword [ebp - 0x114], ecx
imul edi, ecx
lea edx, [esi + edx*8]
mov esi, dword [ebp - 0xf0]
imul esi, ecx
movsd xmm0, qword [edi + edx]
add esi, dword [ebp - 0x10c]
mov dword [ebp - 0x108], 0
mov edx, dword [ebp - 0x108]
lea ecx, [esi + eax*8]
mov esi, dword [ebp - 0xc4]
sub esi, dword [ebp - 0xc0]
imul esi, dword [0x6c81c8]
mov dword [ebp - 0xfc], ecx
mov ecx, dword [ebp - 0xa8]
mov edi, dword [ebp - 0x100]
lea eax, [ecx + eax*8]
mov ecx, dword [ebp - 0x114]
add esi, eax
mov eax, dword [ebp - 0xfc]
movaps xmm1, xmm0
mulsd xmm1, qword [esi + edx*8]
addsd xmm1, qword [eax + edx*8]
movsd qword [eax + edx*8], xmm1
inc edx
cmp edx, edi
jb 0x4c4f0e
mov edx, dword [ebp - 0x110]
inc ecx
cmp ecx, dword [ebp - 0xb4]
jb 0x4c4c27
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xb4]
inc eax
cmp eax, dword [ebp - 0x428]
jb 0x4c4c02
mov edi, dword [ebp - 0x110]
mov eax, dword [0x6c5fd4]
mov edx, dword [0x6c5fcc]
mov dword [ebp - 0x390], eax
mov dword [ebp - 0x418], edx
test edx, edx
jle 0x4c520d
mov edx, dword [0x6c5fc0]
lea esi, [edi*8]
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x36c], esi
mov edi, dword [0x6c5fc8]
mov esi, dword [0x6c5fa8]
mov ecx, esi
shl edi, 3
mov dword [ebp - 0x42c], edx
sub ecx, edi
mov edx, dword [0x6c5fdc]
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x3f4], edx
mov ecx, dword [0x6c5fe0]
mov eax, dword [0x6c5fd0]
imul ecx, edx
mov edx, dword [ebp - 0x390]
sub edi, ecx
imul edx, eax
mov dword [ebp - 0x3f0], eax
lea eax, [ecx + edx]
sub esi, eax
mov eax, dword [ebp - 0x41c]
add edx, esi
add eax, edi
mov edi, dword [0x6c5fc0]
mov dword [ebp - 0x368], 0
mov ecx, dword [ebp - 0x368]
mov dword [ebp - 0x378], edx
lea esi, [edi*8]
mov edx, dword [ebp - 0x42c]
mov dword [ebp - 0x4ec], ecx
mov dword [ebp - 0x420], esi
mov dword [ebp - 0x41c], eax
test edx, edx
jle 0x4c51e1
mov eax, dword [0x76e588]
mov dword [ebp - 0x424], eax
cmp edx, 0xc
jle 0x4c50c0
mov esi, dword [ebp - 0x4ec]
mov edi, dword [ebp - 0x368]
mov edx, dword [ebp - 0x10c]
imul eax, dword [ebp - 0x3f4]
push dword [ebp - 0x420]
add eax, dword [ebp - 0x41c]
lea ecx, [edx + esi]
mov edx, dword [ebp - 0x3f0]
imul edx, edi
push ecx
add edx, eax
push edx
call fcn.0062a530
add esp, 0xc
mov eax, dword [ebp - 0x110]
inc edi
lea esi, [esi + eax*8]
cmp edi, dword [ebp - 0x418]
jae 0x4c520d
mov eax, dword [0x76e588]
cmp dword [ebp - 0x42c], 0xc
jg 0x4c5053
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x4ec], esi
mov dword [ebp - 0x368], edi
mov edx, dword [ebp - 0x42c]
cmp edx, 2
jl 0x4c6203
mov edi, dword [ebp - 0x3f0]
imul edi, dword [ebp - 0x368]
mov eax, dword [ebp - 0x3f4]
imul eax, dword [ebp - 0x424]
mov esi, dword [ebp - 0x378]
mov dword [ebp - 0x370], eax
add esi, edi
add esi, eax
and esi, 0xf
je 0x4c5109
test esi, 7
jne 0x4c6203
mov esi, 1
lea eax, [esi + 2]
cmp edx, eax
jl 0x4c6203
mov ecx, dword [ebp - 0x36c]
mov eax, edx
imul ecx, dword [ebp - 0x368]
sub eax, esi
and eax, 1
add edi, dword [ebp - 0x378]
neg eax
add ecx, dword [ebp - 0x10c]
add eax, edx
add edi, dword [ebp - 0x370]
mov dword [ebp - 0x374], ecx
test esi, esi
jbe 0x4c5161
mov edx, ecx
xor ecx, ecx
movsd xmm0, qword [edx + ecx*8]
movsd qword [edi + ecx*8], xmm0
inc ecx
cmp ecx, esi
jb 0x4c514c
mov edx, dword [ebp - 0x42c]
mov ecx, dword [ebp - 0x374]
lea ecx, [ecx + esi*8]
test cl, 0xf
je 0x4c5186
mov ecx, dword [ebp - 0x374]
movups xmm0, xmmword [ecx + esi*8]
movups xmmword [edi + esi*8], xmm0
add esi, 2
cmp esi, eax
jb 0x4c5175
jmp 0x4c519b
mov ecx, dword [ebp - 0x374]
movups xmm0, xmmword [ecx + esi*8]
movups xmmword [edi + esi*8], xmm0
add esi, 2
cmp esi, eax
jb 0x4c518c
cmp eax, edx
jae 0x4c51e1
mov esi, dword [ebp - 0x36c]
mov edi, dword [ebp - 0x368]
mov ecx, dword [ebp - 0x3f0]
imul esi, edi
imul ecx, edi
mov edi, dword [ebp - 0x424]
imul edi, dword [ebp - 0x3f4]
add ecx, dword [ebp - 0x378]
add esi, dword [ebp - 0x10c]
add ecx, edi
movsd xmm0, qword [esi + eax*8]
movsd qword [ecx + eax*8], xmm0
inc eax
cmp eax, edx
jb 0x4c51d2
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x4ec]
lea esi, [ebp - 0x368]
mov edi, dword [esi]
inc edi
mov dword [esi], edi
lea esi, [eax + ecx*8]
mov dword [ebp - 0x4ec], esi
cmp edi, dword [ebp - 0x418]
jb 0x4c502f
mov eax, dword [ebp - 0x81c]
mov esp, eax
mov eax, dword [0x6c6014]
mov edx, dword [0x6c600c]
mov dword [ebp - 0x818], eax
mov dword [ebp - 0x3fc], edx
test edx, edx
jle 0x4c55a3
mov ecx, dword [0x6c5fd0]
mov dword [ebp - 0x3f8], ecx
mov edi, dword [0x6c6000]
mov ecx, dword [0x6c6010]
mov esi, dword [0x6c6008]
mov dword [ebp - 0x440], edi
mov dword [ebp - 0x438], ecx
mov edx, eax
lea eax, [esi*8]
imul edx, ecx
neg eax
mov edi, dword [0x76e588]
mov ecx, dword [0x6c601c]
imul edi, ecx
imul ecx, dword [0x6c6020]
add eax, dword [0x6c5fe8]
lea esi, [edi + esi*8]
add eax, esi
lea esi, [ecx + edx]
sub eax, esi
sub edi, ecx
add edx, eax
mov dword [ebp - 0x844], edx
mov edx, dword [0x6c5fe8]
mov ecx, dword [ebp - 0x390]
imul ecx, dword [0x6c5fd0]
mov dword [ebp - 0x43c], 0
lea eax, [edi + edx]
add edx, edi
mov dword [ebp - 0x3ec], eax
mov dword [ebp - 0x434], edx
mov edi, dword [0x6c5fc8]
mov edx, dword [0x6c5fdc]
mov eax, dword [0x76e588]
imul eax, edx
lea esi, [edi*8]
imul edx, dword [0x6c5fe0]
neg esi
lea edi, [eax + edi*8]
add esi, dword [0x6c5fa8]
sub eax, edx
add esi, edi
lea edi, [edx + ecx]
sub esi, edi
add ecx, esi
mov esi, dword [0x6c5fa8]
mov dword [ebp - 0x848], ecx
add esi, eax
mov ecx, dword [ebp - 0x43c]
mov eax, dword [ebp - 0x440]
mov dword [ebp - 0x3e8], esi
test eax, eax
jle 0x4c5596
cmp eax, 8
jl 0x4c61f4
mov esi, dword [ebp - 0x438]
imul esi, ecx
mov edx, dword [ebp - 0x434]
mov dword [ebp - 0x414], esi
add edx, esi
and edx, 0xf
je 0x4c535d
test dl, 7
jne 0x4c61f4
mov edx, 1
lea esi, [edx + 8]
cmp eax, esi
jl 0x4c61f4
mov esi, eax
sub esi, edx
and esi, 7
neg esi
add esi, eax
mov dword [ebp - 0xac], esi
mov esi, dword [ebp - 0x3ec]
mov edi, dword [ebp - 0x414]
add edi, esi
mov dword [ebp - 0x40c], edi
mov edi, dword [ebp - 0x3f8]
imul edi, ecx
mov esi, dword [ebp - 0x3e8]
mov dword [ebp - 0x410], edi
add esi, edi
mov dword [ebp - 0x408], esi
test edx, edx
jbe 0x4c53eb
mov dword [ebp - 0x444], 0
movsd xmm0, qword [0x681810]
xorps xmm0, xmmword [0x6817f0]
mov eax, dword [ebp - 0x444]
mov edi, dword [ebp - 0x40c]
movaps xmm1, xmm0
mulsd xmm1, qword [esi + eax*8]
movsd qword [edi + eax*8], xmm1
inc eax
cmp eax, edx
jb 0x4c53d3
mov eax, dword [ebp - 0x440]
mov esi, dword [ebp - 0x410]
add esi, dword [ebp - 0x848]
mov edi, dword [ebp - 0x414]
add edi, dword [ebp - 0x844]
mov dword [ebp - 0x414], edi
lea edi, [esi + edx*8]
mov dword [ebp - 0x410], esi
test edi, 0xf
je 0x4c54b2
mov dword [ebp - 0x43c], ecx
mov eax, dword [ebp - 0x414]
mov ecx, esi
mov esi, dword [ebp - 0x408]
mov edi, dword [ebp - 0x40c]
nop dword [eax + eax]
movups xmm0, xmmword [esi + edx*8]
movups xmm1, xmmword [ecx + edx*8 + 0x10]
movups xmm2, xmmword [ecx + edx*8 + 0x20]
movups xmm3, xmmword [ecx + edx*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 + edx*8], xmm0
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, dword [ebp - 0xac]
jb 0x4c5440
jmp 0x4c553d
mov dword [ebp - 0x43c], ecx
movups xmm0, xmmword [0x681780]
mov eax, dword [ebp - 0x414]
mov ecx, esi
mov esi, dword [ebp - 0x408]
mov edi, dword [ebp - 0x40c]
nop dword [eax + eax]
nop dword [eax + eax]
movaps xmm1, xmm0
movaps xmm2, xmm0
movaps xmm3, xmm0
movaps xmm4, xmm0
mulpd xmm1, xmmword [esi + edx*8]
mulpd xmm2, xmmword [ecx + edx*8 + 0x10]
mulpd xmm3, xmmword [ecx + edx*8 + 0x20]
mulpd xmm4, xmmword [ecx + edx*8 + 0x30]
xorps xmm1, xmmword [0x681770]
xorps xmm2, xmmword [0x681770]
xorps xmm3, xmmword [0x681770]
xorps xmm4, xmmword [0x681770]
movups xmmword [edi + edx*8], xmm1
movups xmmword [eax + edx*8 + 0x10], xmm2
movups xmmword [eax + edx*8 + 0x20], xmm3
movups xmmword [eax + edx*8 + 0x30], xmm4
add edx, 8
cmp edx, dword [ebp - 0xac]
jb 0x4c54e0
mov ecx, dword [ebp - 0x43c]
mov eax, dword [ebp - 0x440]
cmp eax, dword [ebp - 0xac]
jbe 0x4c5596
mov esi, dword [ebp - 0x438]
mov edx, dword [ebp - 0x3f8]
imul esi, ecx
imul edx, ecx
movsd xmm0, qword [0x681810]
xorps xmm0, xmmword [0x6817f0]
add esi, dword [ebp - 0x3ec]
add edx, dword [ebp - 0x3e8]
mov edi, dword [ebp - 0xac]
movaps xmm1, xmm0
mulsd xmm1, qword [edx + edi*8]
movsd qword [esi + edi*8], xmm1
inc edi
cmp edi, eax
jb 0x4c5584
inc ecx
cmp ecx, dword [ebp - 0x3fc]
jb 0x4c5322
cmp dword [ebp - 0x10], 0
jle 0x4c57c3
mov ecx, dword [0x6c5fe8]
mov edx, dword [0x76e588]
mov eax, dword [0x6c6008]
mov esi, dword [0x6c601c]
mov dword [ebp - 0x82c], ecx
mov ecx, dword [0x6c6010]
mov dword [ebp - 0x834], edx
mov dword [ebp - 0x828], eax
mov edx, dword [0x6c6020]
mov dword [ebp - 0x830], esi
cmp ecx, 0xfffffff8
je 0x4c61e5
cmp dword [ebp - 0x10], 8
jl 0x4c61e5
mov edi, eax
mov eax, dword [ebp - 0x10]
and eax, 0xfffffff8
mov dword [ebp - 0x398], eax
lea esi, [edi*8]
mov eax, dword [ebp - 0x830]
neg esi
mov dword [ebp - 0x824], edx
imul edx, eax
imul eax, dword [ebp - 0x834]
add esi, dword [ebp - 0x82c]
sub esi, edx
mov edx, dword [ebp - 0x818]
imul edx, ecx
mov edi, edx
sub edi, ecx
neg edi
add edi, esi
add edi, eax
mov dword [ebp - 0x3a0], edi
lea edi, [ecx + ecx*2]
neg edi
add edi, edx
neg edi
add edi, esi
add edi, eax
mov dword [ebp - 0x39c], edi
lea edi, [ecx + ecx*4]
neg edi
add edi, edx
neg edi
add edi, esi
add edi, eax
mov dword [ebp - 0x3a4], edi
lea edi, [ecx*8]
neg edi
add edi, ecx
add edx, edi
sub esi, edx
mov dword [ebp - 0x83c], 0
add eax, esi
mov esi, dword [ebp - 0x83c]
mov dword [ebp - 0x394], eax
mov eax, esi
mov edx, dword [ebp - 0x3a0]
lea edi, [edx + eax*8 + 8]
mov edx, dword [ebp - 0x39c]
add edi, esi
lea edx, [edx + eax*8]
movsd xmm0, qword [edi]
movhpd xmm0, qword [edi + ecx + 8]
addpd xmm0, xmmword [0x681760]
movsd qword [edi], xmm0
movhpd qword [ecx + edi + 8], xmm0
lea edi, [esi + edx + 0x18]
movsd xmm1, qword [edi]
movhpd xmm1, qword [edi + ecx + 8]
lea edi, [edx + esi + 0x18]
addpd xmm1, xmmword [0x681760]
mov edx, dword [ebp - 0x3a4]
movsd qword [edi], xmm1
movhpd qword [ecx + edi + 8], xmm1
lea edx, [edx + eax*8]
lea edi, [esi + edx + 0x28]
movsd xmm2, qword [edi]
movhpd xmm2, qword [edi + ecx + 8]
lea edi, [edx + esi + 0x28]
addpd xmm2, xmmword [0x681760]
mov edx, dword [ebp - 0x394]
movsd qword [edi], xmm2
movhpd qword [ecx + edi + 8], xmm2
lea edx, [edx + eax*8]
add eax, 8
lea edi, [esi + edx + 0x38]
movsd xmm3, qword [edi]
movhpd xmm3, qword [edi + ecx + 8]
lea edi, [edx + esi + 0x38]
addpd xmm3, xmmword [0x681760]
movsd qword [edi], xmm3
lea esi, [esi + ecx*8]
movhpd qword [ecx + edi + 8], xmm3
cmp eax, dword [ebp - 0x398]
jb 0x4c5698
mov edx, dword [ebp - 0x824]
mov esi, ecx
mov eax, dword [ebp - 0x398]
imul esi, eax
cmp eax, dword [ebp - 0x10]
jae 0x4c57c3
mov edi, dword [ebp - 0x828]
neg edx
shl edi, 3
mov eax, dword [ebp - 0x82c]
sub eax, edi
mov edi, dword [ebp - 0x818]
imul edi, ecx
add edx, dword [ebp - 0x834]
sub edi, ecx
imul edx, dword [ebp - 0x830]
sub eax, edi
mov edi, dword [ebp - 0x398]
add edx, eax
lea eax, [edx + edi*8]
inc edi
movsd xmm0, qword [eax + esi + 8]
addsd xmm0, qword [0x681878]
movsd qword [eax + esi + 8], xmm0
add esi, ecx
cmp edi, dword [ebp - 0x10]
jb 0x4c57a4
cmp dword [ebp - 0x418], 0
jle 0x4c5a7e
mov ecx, dword [0x6c5fc8]
mov eax, dword [0x6c5fa8]
mov esi, eax
shl ecx, 3
mov edi, dword [0x6c5fdc]
sub esi, ecx
mov dword [ebp - 0x404], esi
mov esi, dword [0x6c5fe0]
imul esi, edi
mov dword [ebp - 0x3e0], edi
sub ecx, esi
mov edx, dword [0x6c5fd0]
mov edi, dword [ebp - 0x390]
imul edi, edx
mov dword [ebp - 0x3dc], edx
lea edx, [esi + edi]
mov esi, dword [ebp - 0x404]
sub eax, edx
add esi, ecx
add edi, eax
mov ecx, dword [0x6c5fc0]
mov dword [ebp - 0x380], 0
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x390], edi
lea edx, [ecx*8]
mov dword [ebp - 0x4e8], eax
mov dword [ebp - 0x400], edx
mov dword [ebp - 0x404], esi
mov dword [ebp - 0x384], ecx
cmp dword [ebp - 0x384], 0
jle 0x4c5a5b
mov eax, dword [0x76e588]
mov edx, dword [0x6c81a0]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x38c], edx
cmp dword [ebp - 0x384], 0xc
jle 0x4c5914
mov esi, dword [ebp - 0x4e8]
mov edi, dword [ebp - 0x380]
mov ecx, dword [ebp - 0xc0]
mov edx, ecx
neg edx
imul eax, dword [ebp - 0x3e0]
add ecx, edi
add edx, ecx
imul edx, dword [0x6c81c8]
push dword [ebp - 0x400]
add eax, dword [ebp - 0x404]
add edx, dword [ebp - 0x38c]
add eax, esi
push edx
push eax
call fcn.0062a530
add esp, 0xc
inc edi
add esi, dword [ebp - 0x3dc]
cmp edi, dword [ebp - 0x418]
jae 0x4c5a7e
mov edx, dword [0x6c81a0]
mov eax, dword [0x76e588]
mov dword [ebp - 0x38c], edx
cmp dword [ebp - 0x384], 0xc
jg 0x4c589b
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x4e8], esi
mov dword [ebp - 0x380], edi
cmp dword [ebp - 0x384], 2
jl 0x4c61de
mov ecx, dword [ebp - 0x3dc]
imul ecx, dword [ebp - 0x380]
mov edx, dword [ebp - 0x3e0]
imul edx, dword [ebp - 0x3e4]
mov eax, dword [ebp - 0x390]
lea esi, [eax + ecx]
add esi, edx
and esi, 0xf
je 0x4c595c
test esi, 7
jne 0x4c61de
mov esi, 1
lea eax, [esi + 2]
cmp eax, dword [ebp - 0x384]
jg 0x4c61de
mov edi, dword [ebp - 0x384]
mov eax, edi
sub eax, esi
and eax, 1
add ecx, dword [ebp - 0x390]
neg eax
add ecx, edx
add eax, edi
mov dword [ebp - 0x37c], ecx
mov ecx, dword [ebp - 0xc0]
mov edi, dword [ebp - 0x380]
mov edx, ecx
neg edx
add ecx, edi
add edx, ecx
imul edx, dword [0x6c81c8]
add edx, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x37c]
mov dword [ebp - 0x388], edx
test esi, esi
jbe 0x4c59ce
mov edi, edx
xor edx, edx
movsd xmm0, qword [edi + edx*8]
movsd qword [ecx + edx*8], xmm0
inc edx
cmp edx, esi
jb 0x4c59bf
mov edx, dword [ebp - 0x388]
lea edi, [edx + esi*8]
test edi, 0xf
je 0x4c59f0
movups xmm0, xmmword [edx + esi*8]
movups xmmword [ecx + esi*8], xmm0
add esi, 2
cmp esi, eax
jb 0x4c59df
jmp 0x4c59ff
movups xmm0, xmmword [edx + esi*8]
movups xmmword [ecx + esi*8], xmm0
add esi, 2
cmp esi, eax
jb 0x4c59f0
cmp eax, dword [ebp - 0x384]
jae 0x4c5a5b
mov ecx, dword [ebp - 0x380]
mov esi, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x3e4]
imul esi, ecx
imul edx, dword [ebp - 0x3e0]
mov edi, dword [ebp - 0xc0]
add esi, dword [ebp - 0x390]
add esi, edx
mov edx, edi
neg edx
add ecx, edi
add edx, ecx
imul edx, dword [0x6c81c8]
add edx, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x384]
movsd xmm0, qword [edx + eax*8]
movsd qword [esi + eax*8], xmm0
inc eax
cmp eax, ecx
jb 0x4c5a4c
mov eax, dword [ebp - 0x3dc]
lea ecx, [ebp - 0x380]
mov edx, dword [ecx]
inc edx
add dword [ebp - 0x4e8], eax
mov dword [ecx], edx
cmp edx, dword [ebp - 0x418]
jb 0x4c585e
push 0x6e30e0
lea eax, [ebp - 0x2cc]
push eax
call fcn.004498f0
add esp, 8
push 0x6e3110
lea eax, [ebp - 0x2cc]
push eax
call fcn.004496d0
add esp, 8
mov esi, 1
cmp dword [ebp - 0x10], 0
jg 0x4c5ac0
mov dword [ebp - 0x2c8], 1
jmp 0x4bf9a0
mov edx, dword [0x6e3108]
mov eax, dword [0x6c81cc]
mov dword [ebp - 0x898], edx
mov edx, dword [0x6e3138]
mov edi, dword [0x6e312c]
mov dword [ebp - 0x868], eax
mov eax, dword [0x6e30fc]
mov dword [ebp - 0xaf4], edx
mov dword [ebp - 0x894], edi
mov edx, dword [0x76e588]
mov dword [ebp - 0x89c], eax
mov eax, edx
mov edi, dword [0x6c5f18]
imul eax, edi
imul edi, dword [0x6c5f1c]
mov ecx, dword [0x6c5f10]
mov dword [ebp - 0xaf8], esi
add eax, dword [0x6c5ef0]
mov dword [ebp - 0x448], 1
lea esi, [ecx*4]
lea ecx, [edi + ecx*4]
neg ecx
add ecx, eax
sub eax, edi
mov dword [ebp - 0x6a4], ecx
sub eax, esi
mov ecx, dword [0x6c5ee8]
imul edx, ecx
imul ecx, dword [0x6c5eec]
mov esi, dword [0x6c5ee0]
add edx, dword [0x6c5ec0]
mov dword [ebp - 0x850], eax
mov eax, dword [ebp - 0x448]
lea edi, [esi*4]
lea esi, [ecx + esi*4]
neg esi
add esi, edx
sub edx, ecx
mov ecx, dword [0x6e310c]
sub edx, edi
mov dword [ebp - 0x6a0], esi
imul ecx, dword [0x6e3108]
mov esi, dword [0x6e3100]
imul esi, dword [0x6e30fc]
mov edi, dword [0x6e30e0]
sub edi, ecx
sub edi, esi
mov esi, dword [0x6e313c]
imul esi, dword [0x6e3138]
mov ecx, dword [0x6e3110]
sub ecx, esi
mov esi, dword [0x6e3130]
imul esi, dword [0x6e312c]
sub ecx, esi
mov esi, dword [ebp - 0xaf8]
mov dword [ebp - 0x890], ecx
mov dword [ebp - 0x888], edi
mov dword [ebp - 0x84c], edx
mov ecx, dword [ebp - 0x850]
mov edx, dword [ebp - 0x84c]
mov ecx, dword [ecx + eax*4]
mov edi, ecx
mov edx, dword [edx + eax*4]
add edi, edx
je 0x4c61d3
mov edi, dword [0x6c81a0]
mov dword [ebp - 0x858], edi
mov esi, dword [0x6c81c8]
mov edi, dword [ebp - 0x868]
imul edi, esi
mov dword [ebp - 0x85c], edi
mov edi, eax
mov dword [ebp - 0x864], esi
imul edi, esi
mov esi, dword [0x6c81c0]
mov dword [ebp - 0x854], esi
shl esi, 3
mov dword [ebp - 0x860], esi
test ecx, ecx
jne 0x4c5ca3
mov dword [ebp - 0x698], ecx
mov ecx, dword [ebp - 0x89c]
mov esi, dword [ebp - 0x898]
mov dword [ebp - 0x448], eax
add ecx, esi
mov esi, dword [ebp - 0x858]
sub esi, dword [ebp - 0x860]
sub esi, dword [ebp - 0x85c]
imul ecx, edx
lea esi, [esi + eax*8]
mov eax, dword [ebp - 0x888]
movsd xmm0, qword [eax + ecx]
addsd xmm0, qword [esi + edi]
movsd qword [eax + ecx], xmm0
mov ecx, dword [ebp - 0x698]
mov eax, dword [ebp - 0x448]
test edx, edx
je 0x4c5cbc
jmp 0x4c5de3
test edx, edx
jne 0x4c5d1a
mov esi, dword [ebp - 0x858]
sub esi, dword [ebp - 0x860]
sub esi, dword [ebp - 0x85c]
lea esi, [esi + eax*8]
mov dword [ebp - 0x448], eax
mov eax, ecx
mov dword [ebp - 0x69c], edx
mov edx, ecx
imul eax, dword [ebp - 0x898]
imul edx, dword [ebp - 0x89c]
mov dword [ebp - 0x978], edx
mov dword [ebp - 0x974], eax
add eax, edx
mov edx, dword [ebp - 0x888]
movsd xmm0, qword [eax + edx]
addsd xmm0, qword [esi + edi]
movsd qword [eax + edx], xmm0
mov edx, dword [ebp - 0x69c]
mov eax, dword [ebp - 0x448]
test ecx, ecx
je 0x4c5de3
test edx, edx
jne 0x4c5d38
jmp 0x4c5de3
mov esi, ecx
imul esi, dword [ebp - 0x898]
mov dword [ebp - 0x974], esi
mov esi, ecx
imul esi, dword [ebp - 0x89c]
mov dword [ebp - 0x978], esi
mov esi, dword [ebp - 0x858]
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x69c], edx
lea eax, [esi + eax*8]
mov esi, dword [ebp - 0x854]
add eax, edi
mov edi, dword [ebp - 0x85c]
lea edi, [edi + esi*8]
mov esi, edx
imul esi, dword [ebp - 0x898]
sub eax, edi
add esi, dword [ebp - 0x978]
mov edi, dword [ebp - 0x888]
movsd xmm0, qword [esi + edi]
addsd xmm0, qword [eax]
movsd qword [esi + edi], xmm0
mov esi, edx
imul esi, dword [ebp - 0x89c]
add esi, dword [ebp - 0x974]
movsd xmm1, qword [esi + edi]
addsd xmm1, qword [eax]
mov eax, edx
imul eax, dword [ebp - 0xaf4]
imul edx, dword [ebp - 0x894]
movsd qword [esi + edi], xmm1
mov esi, ecx
imul esi, dword [ebp - 0x894]
add esi, eax
mov eax, 0xffffffff
mov edi, dword [ebp - 0x890]
mov byte [esi + edi], al
mov esi, ecx
imul esi, dword [ebp - 0xaf4]
add esi, edx
mov edx, dword [ebp - 0x69c]
mov byte [esi + edi], al
mov eax, dword [ebp - 0x448]
cmp dword [ebp - 0x10], 0
jle 0x4c61b4
mov esi, edx
imul esi, dword [ebp - 0x89c]
mov edi, dword [ebp - 0x888]
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x69c], edx
mov dword [ebp - 0x884], 0
add edi, esi
mov dword [ebp - 0x880], edi
mov edi, edx
imul edi, dword [ebp - 0x898]
add edi, esi
mov esi, dword [ebp - 0x858]
sub esi, dword [ebp - 0x860]
add esi, dword [ebp - 0x864]
sub esi, dword [ebp - 0x85c]
mov dword [ebp - 0x86c], edi
mov edi, dword [ebp - 0x890]
mov dword [ebp - 0x698], ecx
lea eax, [esi + eax*8]
mov dword [ebp - 0x878], eax
mov esi, ecx
mov eax, dword [ebp - 0x894]
imul edx, eax
imul esi, dword [ebp - 0x89c]
add edx, edi
mov dword [ebp - 0x874], edx
mov edx, dword [ebp - 0x888]
add edx, esi
mov dword [ebp - 0x87c], edx
mov edx, ecx
imul edx, dword [ebp - 0x898]
add edx, esi
mov esi, ecx
imul esi, eax
add esi, edi
mov dword [ebp - 0x870], edx
mov eax, dword [ebp - 0x884]
mov dword [ebp - 0x88c], esi
lea edx, [eax + 1]
cmp edx, dword [ebp - 0x448]
je 0x4c61a1
mov ecx, dword [ebp - 0x6a4]
mov edi, dword [ebp - 0x6a0]
cmp dword [ebp - 0x698], 0
mov esi, dword [ecx + eax*4 + 4]
mov dword [ebp - 0x694], esi
mov esi, dword [edi + eax*4 + 4]
je 0x4c604f
cmp dword [ebp - 0x694], 0
je 0x4c5f61
mov ecx, dword [ebp - 0x694]
cmp ecx, dword [ebp - 0x698]
je 0x4c5fa3
mov dword [ebp - 0x970], edx
mov ecx, dword [ebp - 0x898]
mov edx, dword [ebp - 0x694]
imul ecx, edx
mov dword [ebp - 0x96c], esi
mov esi, dword [ebp - 0x864]
imul esi, eax
mov edi, dword [ebp - 0x87c]
mov dword [ebp - 0x884], eax
mov eax, dword [ebp - 0x878]
movsd xmm0, qword [edi + ecx]
subsd xmm0, qword [eax + esi]
mov eax, dword [ebp - 0xaf4]
imul eax, edx
movsd qword [edi + ecx], xmm0
mov edx, dword [ebp - 0x88c]
mov esi, dword [ebp - 0x96c]
mov byte [eax + edx], 0xff
mov edx, dword [ebp - 0x970]
mov eax, dword [ebp - 0x884]
jmp 0x4c5fa3
mov ecx, dword [ebp - 0x864]
imul ecx, eax
mov dword [ebp - 0x96c], esi
mov esi, dword [ebp - 0x870]
mov edi, dword [ebp - 0x888]
mov dword [ebp - 0x970], edx
mov edx, dword [ebp - 0x878]
movsd xmm0, qword [esi + edi]
subsd xmm0, qword [edx + ecx]
movsd qword [esi + edi], xmm0
mov esi, dword [ebp - 0x96c]
mov edx, dword [ebp - 0x970]
test esi, esi
je 0x4c600d
cmp esi, dword [ebp - 0x698]
je 0x4c604f
mov dword [ebp - 0x970], edx
mov edx, dword [ebp - 0x898]
imul edx, esi
mov ecx, dword [ebp - 0x864]
imul ecx, eax
mov edi, dword [ebp - 0x87c]
mov dword [ebp - 0x884], eax
mov eax, dword [ebp - 0x878]
movsd xmm0, qword [edi + edx]
addsd xmm0, qword [eax + ecx]
movsd qword [edi + edx], xmm0
mov edx, esi
imul edx, dword [ebp - 0xaf4]
mov eax, dword [ebp - 0x88c]
mov byte [edx + eax], 0xff
mov edx, dword [ebp - 0x970]
mov eax, dword [ebp - 0x884]
jmp 0x4c604f
mov ecx, dword [ebp - 0x864]
imul ecx, eax
mov dword [ebp - 0x96c], esi
mov esi, dword [ebp - 0x870]
mov edi, dword [ebp - 0x888]
mov dword [ebp - 0x970], edx
mov edx, dword [ebp - 0x878]
movsd xmm0, qword [esi + edi]
addsd xmm0, qword [edx + ecx]
movsd qword [esi + edi], xmm0
mov esi, dword [ebp - 0x96c]
mov edx, dword [ebp - 0x970]
cmp dword [ebp - 0x69c], 0
je 0x4c61a1
cmp dword [ebp - 0x694], 0
je 0x4c60e1
mov ecx, dword [ebp - 0x694]
cmp ecx, dword [ebp - 0x69c]
je 0x4c6123
mov dword [ebp - 0x970], edx
mov ecx, dword [ebp - 0x898]
mov edx, dword [ebp - 0x694]
imul ecx, edx
imul edx, dword [ebp - 0xaf4]
mov dword [ebp - 0x96c], esi
mov esi, dword [ebp - 0x864]
imul esi, eax
mov edi, dword [ebp - 0x880]
mov dword [ebp - 0x884], eax
mov eax, dword [ebp - 0x878]
movsd xmm0, qword [ecx + edi]
addsd xmm0, qword [eax + esi]
mov eax, dword [ebp - 0x874]
movsd qword [ecx + edi], xmm0
mov esi, dword [ebp - 0x96c]
mov byte [edx + eax], 0xff
mov edx, dword [ebp - 0x970]
mov eax, dword [ebp - 0x884]
jmp 0x4c6123
mov ecx, dword [ebp - 0x864]
imul ecx, eax
mov dword [ebp - 0x96c], esi
mov esi, dword [ebp - 0x86c]
mov edi, dword [ebp - 0x888]
mov dword [ebp - 0x970], edx
mov edx, dword [ebp - 0x878]
movsd xmm0, qword [esi + edi]
addsd xmm0, qword [edx + ecx]
movsd qword [esi + edi], xmm0
mov esi, dword [ebp - 0x96c]
mov edx, dword [ebp - 0x970]
test esi, esi
je 0x4c6179
cmp esi, dword [ebp - 0x69c]
je 0x4c61a1
mov ecx, dword [ebp - 0x898]
imul ecx, esi
imul eax, dword [ebp - 0x864]
imul esi, dword [ebp - 0xaf4]
mov edi, dword [ebp - 0x880]
mov dword [ebp - 0x970], edx
mov edx, dword [ebp - 0x878]
movsd xmm0, qword [ecx + edi]
subsd xmm0, qword [edx + eax]
mov eax, dword [ebp - 0x874]
movsd qword [ecx + edi], xmm0
mov edx, dword [ebp - 0x970]
mov byte [esi + eax], 0xff
jmp 0x4c61a1
imul eax, dword [ebp - 0x864]
mov esi, dword [ebp - 0x86c]
mov edi, dword [ebp - 0x888]
mov ecx, dword [ebp - 0x878]
movsd xmm0, qword [esi + edi]
subsd xmm0, qword [ecx + eax]
movsd qword [esi + edi], xmm0
mov eax, edx
cmp edx, dword [ebp - 0x10]
jb 0x4c5ea4
nop
mov eax, dword [ebp - 0x448]
inc eax
mov esi, eax
cmp eax, dword [ebp - 0x10]
jle 0x4c5be6
nop
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x2c8], eax
jmp 0x4bf9a0
mov dword [ebp - 0x2c8], esi
jmp 0x4c1449
xor eax, eax
jmp 0x4c59ff
mov dword [ebp - 0x398], 0
jmp 0x4c575f
mov dword [ebp - 0xac], 0
jmp 0x4c5549
xor eax, eax
jmp 0x4c519b
xor eax, eax
jmp 0x4c4e7a
mov eax, edi
imul eax, esi
cmp eax, 4
jl 0x4c6269
mov ecx, eax
xor edx, edx
mov dword [ebp - 0x110], edi
and ecx, 0xfffffffc
mov edi, dword [ebp - 0x10c]
pxor xmm0, xmm0
movups xmmword [edi + edx*8], xmm0
movups xmmword [edi + edx*8 + 0x10], xmm0
add edx, 4
cmp edx, ecx
jb 0x4c6232
mov edi, dword [ebp - 0x110]
cmp ecx, eax
jae 0x4c4b97
mov edx, dword [ebp - 0x10c]
pxor xmm0, xmm0
movsd qword [edx + ecx*8], xmm0
inc ecx
cmp ecx, eax
jb 0x4c625a
jmp 0x4c4b97
xor ecx, ecx
jmp 0x4c6248
mov dword [ebp - 0x490], 0
jmp 0x4c4ae5
mov dword [ebp - 0x44c], 1
jmp 0x4c485e
mov edi, 1
jmp 0x4c469b
mov ecx, 1
jmp 0x4c44f5
mov ecx, 1
jmp 0x4c4416
mov dword [ebp - 0x2c8], ecx
jmp 0x4c1449
mov dword [ebp - 0x2c8], 1
mov eax, dword [0x6c81c8]
jmp 0x4c48e2
mov eax, dword [0x6c81cc]
mov dword [ebp - 0x2c8], ecx
mov dword [ebp - 0xc0], eax
jmp 0x4c4b37
mov dword [ebp - 0x2c8], ecx
mov ecx, dword [0x76e588]
sub ecx, dword [0x6c5e68]
mov edx, dword [0x6c5e48]
mov eax, dword [ebp - 0x1e0]
mov dword [edx + ecx*4], eax
call fcn.004e32e0
add esp, 0xffffffe0
movq xmm0, qword [0x681860]
movq xmm1, qword [0x681868]
movq xmm2, qword [0x681870]
mov dword [esp], 0x81e680
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x68193c
movq qword [esp + 0x10], xmm1
movq qword [esp + 0x18], xmm2
call fcn.005b4100
add esp, 0x20
test eax, eax
jne 0x4c83c2
push 0x120
mov esi, dword [0x76e588]
lea eax, [ebp - 0xa60]
push eax
push 0x6813e4
sub esi, dword [0x6c8768]
lea edx, [ebp - 0x928]
mov ecx, dword [0x6c8748]
push 0x8384ff03
push dword [0x81e9a8]
push edx
mov dword [edx], 0
lea edi, [ecx + esi*8]
mov dword [eax], 8
mov dword [eax + 4], edi
call fcn.005c6ec0
add esp, 0x18
test eax, eax
jne 0x4c6517
mov edx, dword [0x76e588]
lea esi, [ebp - 0xaa0]
sub edx, dword [0x6c8740]
lea edi, [ebp - 0x928]
mov eax, dword [0x6c8720]
push esi
push 0x6813ec
push edi
mov dword [esi], 8
lea ecx, [eax + edx*8]
mov dword [esi + 4], ecx
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6517
mov edx, dword [0x76e588]
lea esi, [ebp - 0xb28]
sub edx, dword [0x6c8718]
lea edi, [ebp - 0x928]
mov eax, dword [0x6c86f8]
push esi
push 0x6813f4
push edi
mov dword [esi], 8
lea ecx, [eax + edx*8]
mov dword [esi + 4], ecx
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6517
mov edx, dword [0x76e588]
lea esi, [ebp - 0xc20]
sub edx, dword [0x6c86f0]
lea edi, [ebp - 0x928]
mov eax, dword [0x6c86d0]
push esi
push 0x6813fc
push edi
mov dword [esi], 8
lea ecx, [eax + edx*8]
mov dword [esi + 4], ecx
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6517
mov edx, dword [0x76e588]
lea esi, [ebp - 0xdb0]
sub edx, dword [0x6c86c8]
lea edi, [ebp - 0x928]
mov eax, dword [0x6c86a8]
push esi
push 0x681404
push edi
mov dword [esi], 8
lea ecx, [eax + edx*8]
mov dword [esi + 4], ecx
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6517
mov edx, dword [0x76e588]
lea esi, [ebp - 0xeb0]
sub edx, dword [0x6c86a0]
lea edi, [ebp - 0x928]
mov eax, dword [0x6c8680]
push esi
push 0x68140c
push edi
mov dword [esi], 8
lea ecx, [eax + edx*8]
mov dword [esi + 4], ecx
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6517
mov edx, dword [0x76e588]
lea esi, [ebp - 0xf10]
sub edx, dword [0x6c85f0]
lea edi, [ebp - 0x928]
mov eax, dword [0x6c85d0]
push esi
push 0x681414
push edi
mov dword [esi], 8
lea ecx, [eax + edx*8]
mov dword [esi + 4], ecx
call fcn.005c8930
add esp, 0xc
cmp eax, 0xffffffff
je 0x4c14f3
test eax, eax
jg 0x4c1449
call fcn.004e32e0
add esp, 0xffffffe0
movq xmm0, qword [0x681860]
movq xmm1, qword [0x681868]
movq xmm2, qword [0x681870]
mov dword [esp], 0x81e680
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x68194c
movq qword [esp + 0x10], xmm1
movq qword [esp + 0x18], xmm2
call fcn.005b4100
add esp, 0x20
test eax, eax
jne 0x4c836b
push 0x120
mov esi, dword [0x76e588]
lea eax, [ebp - 0xa98]
push eax
push 0x68141c
sub esi, dword [0x6c8648]
lea edx, [ebp - 0x928]
mov ecx, dword [0x6c8628]
push 0x8384ff03
push dword [0x81e9a8]
push edx
mov dword [edx], 0
lea edi, [ecx + esi*8]
mov dword [eax], 8
mov dword [eax + 4], edi
call fcn.005c6ec0
add esp, 0x18
test eax, eax
jne 0x4c6604
mov edx, dword [0x76e588]
lea esi, [ebp - 0xad0]
sub edx, dword [0x6c8420]
lea edi, [ebp - 0x928]
mov eax, dword [0x6c8400]
push esi
push 0x681424
push edi
mov dword [esi], 4
lea ecx, [eax + edx*4]
mov dword [esi + 4], ecx
call fcn.005c8930
add esp, 0xc
cmp eax, 0xffffffff
je 0x4c14f3
test eax, eax
jg 0x4c1449
call fcn.004e32e0
add esp, 0xffffffe0
movq xmm0, qword [0x681860]
movq xmm1, qword [0x681868]
movq xmm2, qword [0x681870]
mov dword [esp], 0x81e680
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x68195c
movq qword [esp + 0x10], xmm1
movq qword [esp + 0x18], xmm2
call fcn.005b4100
add esp, 0x20
test eax, eax
jne 0x4c8314
mov eax, dword [0x76e588]
mov esi, dword [0x6c84d8]
mov dword [ebp - 0xae0], eax
imul eax, esi
imul esi, dword [0x6c84dc]
mov edx, dword [0x6c850c]
mov dword [ebp - 0xae8], edx
mov edx, dword [0x6c84d0]
mov edi, dword [0x6c8500]
add eax, dword [0x6c84b0]
mov dword [ebp - 0xae4], edi
lea edi, [edx*8]
mov dword [ebp - 0xad8], edi
mov edi, eax
sub edi, esi
sub edi, dword [ebp - 0xad8]
add edi, 8
mov dword [ebp - 0xaac], esi
mov ecx, dword [0x6c84e0]
mov esi, dword [0x6c8508]
and edi, 0xf
mov dword [ebp - 0xa80], edi
je 0x4c674c
mov dword [ebp - 0xad4], eax
mov eax, dword [ebp - 0xae0]
imul eax, esi
imul esi, dword [ebp - 0xae8]
add ecx, eax
mov eax, dword [ebp - 0xae4]
lea edi, [eax*8]
mov dword [ebp - 0xaec], edi
lea edi, [esi + eax*8]
mov eax, dword [ebp - 0xad4]
neg edi
add edi, ecx
mov dword [ebp - 0xadc], edi
test byte [ebp - 0xa80], 7
jne 0x4c780e
pxor xmm0, xmm0
mov dword [ebp - 0xa80], 1
movsd qword [edi + 8], xmm0
mov edi, dword [ebp - 0xaac]
lea edx, [edi + edx*8]
sub eax, edx
movsd qword [eax + 8], xmm0
jmp 0x4c6789
mov edi, dword [ebp - 0xaac]
lea edx, [edi + edx*8]
mov edi, dword [ebp - 0xae0]
imul edi, esi
sub eax, edx
imul esi, dword [ebp - 0xae8]
add ecx, edi
mov edi, dword [ebp - 0xae4]
lea edx, [edi*8]
mov dword [ebp - 0xaec], edx
lea edx, [esi + edi*8]
neg edx
add edx, ecx
mov dword [ebp - 0xadc], edx
mov edx, dword [ebp - 0xa80]
mov edi, edx
neg edi
add edi, 2
and edi, 3
neg edi
add edi, 0xa
mov dword [ebp - 0xa78], edi
mov edi, dword [ebp - 0xadc]
lea edx, [edi + edx*8 + 8]
test dl, 0xf
je 0x4c67e8
mov dword [ebp - 0xa7c], ecx
mov edx, dword [ebp - 0xa78]
pxor xmm0, xmm0
mov ecx, edi
mov edi, dword [ebp - 0xa80]
movups xmmword [ecx + edi*8 + 8], xmm0
movups xmmword [ecx + edi*8 + 0x18], xmm0
movups xmmword [eax + edi*8 + 8], xmm0
movups xmmword [eax + edi*8 + 0x18], xmm0
add edi, 4
cmp edi, edx
jb 0x4c67cb
jmp 0x4c681b
mov dword [ebp - 0xa7c], ecx
mov edx, dword [ebp - 0xa78]
pxor xmm0, xmm0
mov ecx, edi
mov edi, dword [ebp - 0xa80]
movups xmmword [ecx + edi*8 + 8], xmm0
movups xmmword [eax + edi*8 + 8], xmm0
movups xmmword [ecx + edi*8 + 0x18], xmm0
movups xmmword [eax + edi*8 + 0x18], xmm0
add edi, 4
cmp edi, edx
jb 0x4c6800
mov dword [ebp - 0xa78], edx
mov ecx, dword [ebp - 0xa7c]
cmp dword [ebp - 0xa78], 0xa
jae 0x4c6852
pxor xmm0, xmm0
mov edx, dword [ebp - 0xa78]
mov edi, dword [ebp - 0xadc]
movsd qword [edi + edx*8 + 8], xmm0
movsd qword [eax + edx*8 + 8], xmm0
inc edx
cmp edx, 0xa
jb 0x4c6840
push 0x120
sub ecx, esi
lea eax, [ebp - 0xaa8]
push eax
push 0x68142c
push 0x8384ff03
push dword [0x81e9a8]
mov dword [ebp - 0x2c8], 0xb
lea edx, [ebp - 0x928]
sub ecx, dword [eax - 0x44]
push edx
add ecx, 8
mov dword [edx], 0
mov dword [eax], 8
mov dword [eax + 4], ecx
call fcn.005c6ec0
add esp, 0x18
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xb60]
sub esi, dword [0x6c84dc]
mov eax, dword [0x6c84d0]
imul esi, dword [0x6c84d8]
push edi
mov ecx, dword [0x6c84b0]
lea edx, [eax*8 - 8]
push 0x681434
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xc60]
sub esi, dword [0x6c850c]
mov eax, dword [0x6c8500]
imul esi, dword [0x6c8508]
push edi
mov ecx, dword [0x6c84e0]
lea edx, [eax*8 - 0x10]
push 0x68143c
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xe68]
sub esi, dword [0x6c84dc]
mov eax, dword [0x6c84d0]
imul esi, dword [0x6c84d8]
push edi
mov ecx, dword [0x6c84b0]
lea edx, [eax*8 - 0x10]
push 0x681444
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xeb8]
sub esi, dword [0x6c850c]
mov eax, dword [0x6c8500]
imul esi, dword [0x6c8508]
push edi
mov ecx, dword [0x6c84e0]
lea edx, [eax*8 - 0x18]
push 0x68144c
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xf20]
sub esi, dword [0x6c84dc]
mov eax, dword [0x6c84d0]
imul esi, dword [0x6c84d8]
push edi
mov ecx, dword [0x6c84b0]
lea edx, [eax*8 - 0x18]
push 0x681454
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xf28]
sub esi, dword [0x6c850c]
mov eax, dword [0x6c8500]
imul esi, dword [0x6c8508]
push edi
mov ecx, dword [0x6c84e0]
lea edx, [eax*8 - 0x20]
push 0x68145c
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xf30]
sub esi, dword [0x6c84dc]
mov eax, dword [0x6c84d0]
imul esi, dword [0x6c84d8]
push edi
mov ecx, dword [0x6c84b0]
lea edx, [eax*8 - 0x20]
push 0x681464
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xf40]
sub esi, dword [0x6c850c]
mov eax, dword [0x6c8500]
imul esi, dword [0x6c8508]
push edi
mov ecx, dword [0x6c84e0]
lea edx, [eax*8 - 0x28]
push 0x68146c
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xf68]
sub esi, dword [0x6c84dc]
mov eax, dword [0x6c84d0]
imul esi, dword [0x6c84d8]
push edi
mov ecx, dword [0x6c84b0]
lea edx, [eax*8 - 0x28]
push 0x681474
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xf80]
sub esi, dword [0x6c850c]
mov eax, dword [0x6c8500]
imul esi, dword [0x6c8508]
push edi
mov ecx, dword [0x6c84e0]
lea edx, [eax*8 - 0x30]
push 0x68147c
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xf88]
sub esi, dword [0x6c84dc]
mov eax, dword [0x6c84d0]
imul esi, dword [0x6c84d8]
push edi
mov ecx, dword [0x6c84b0]
lea edx, [eax*8 - 0x30]
push 0x681484
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xf90]
sub esi, dword [0x6c850c]
mov eax, dword [0x6c8500]
imul esi, dword [0x6c8508]
push edi
mov ecx, dword [0x6c84e0]
lea edx, [eax*8 - 0x38]
push 0x68148c
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xf98]
sub esi, dword [0x6c84dc]
mov eax, dword [0x6c84d0]
imul esi, dword [0x6c84d8]
push edi
mov ecx, dword [0x6c84b0]
lea edx, [eax*8 - 0x38]
push 0x681494
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xfa0]
sub esi, dword [0x6c850c]
mov eax, dword [0x6c8500]
imul esi, dword [0x6c8508]
push edi
mov ecx, dword [0x6c84e0]
lea edx, [eax*8 - 0x40]
push 0x68149c
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xfa8]
sub esi, dword [0x6c84dc]
mov eax, dword [0x6c84d0]
imul esi, dword [0x6c84d8]
push edi
mov ecx, dword [0x6c84b0]
lea edx, [eax*8 - 0x40]
push 0x6814a4
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xfb0]
sub esi, dword [0x6c850c]
mov eax, dword [0x6c8500]
imul esi, dword [0x6c8508]
push edi
mov ecx, dword [0x6c84e0]
lea edx, [eax*8 - 0x48]
push 0x6814ac
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xfb8]
sub esi, dword [0x6c84dc]
mov eax, dword [0x6c84d0]
imul esi, dword [0x6c84d8]
push edi
mov ecx, dword [0x6c84b0]
lea edx, [eax*8 - 0x48]
push 0x6814b4
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xfc0]
sub esi, dword [0x6c850c]
mov eax, dword [0x6c8500]
imul esi, dword [0x6c8508]
push edi
mov ecx, dword [0x6c84e0]
lea edx, [eax*8 - 0x50]
push 0x6814bc
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c6ee9
mov esi, dword [0x76e588]
lea edi, [ebp - 0xfc8]
sub esi, dword [0x6c84dc]
mov eax, dword [0x6c84d0]
imul esi, dword [0x6c84d8]
push edi
mov ecx, dword [0x6c84b0]
lea edx, [eax*8 - 0x50]
push 0x6814c4
sub ecx, edx
lea eax, [ebp - 0x928]
push eax
add esi, ecx
mov dword [edi], 8
mov dword [edi + 4], esi
call fcn.005c8930
add esp, 0xc
cmp eax, 0xffffffff
je 0x4c14f3
test eax, eax
jg 0x4c1449
call fcn.004e32e0
add esp, 0xffffffe0
movq xmm0, qword [0x681860]
movq xmm1, qword [0x681868]
movq xmm2, qword [0x681870]
mov dword [esp], 0x81e680
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x68196c
movq qword [esp + 0x10], xmm1
movq qword [esp + 0x18], xmm2
call fcn.005b4100
add esp, 0x20
test eax, eax
jne 0x4c82bd
push 0x120
mov esi, dword [0x76e588]
lea eax, [ebp - 0xb20]
push eax
push 0x6814cc
sub esi, dword [0x6c83f8]
lea edx, [ebp - 0x928]
mov ecx, dword [0x6c83d8]
push 0x8384ff03
push dword [0x81e9a8]
push edx
mov dword [edx], 0
lea edi, [ecx + esi*4]
mov dword [eax], 4
mov dword [eax + 4], edi
call fcn.005c6ec0
add esp, 0x18
test eax, eax
jne 0x4c7012
mov edx, dword [0x76e588]
lea esi, [ebp - 0xc18]
sub edx, dword [0x6c83d0]
lea edi, [ebp - 0x928]
mov eax, dword [0x6c83b0]
push esi
push 0x6814d4
push edi
mov dword [esi], 4
lea ecx, [eax + edx*4]
mov dword [esi + 4], ecx
call fcn.005c8930
add esp, 0xc
test eax, eax
jne 0x4c7012
mov edx, dword [0x76e588]
lea esi, [ebp - 0xda8]
sub edx, dword [0x6c83a8]
lea edi, [ebp - 0x928]
mov eax, dword [0x6c8388]
push esi
push 0x6814dc
push edi
mov dword [esi], 4
lea ecx, [eax + edx*4]
mov dword [esi + 4], ecx
call fcn.005c8930
add esp, 0xc
cmp eax, 0xffffffff
je 0x4c14f3
test eax, eax
jg 0x4c1449
mov eax, dword [0x6c8420]
mov dword [ebp - 0xb10], eax
neg eax
mov ecx, dword [0x76e588]
add eax, ecx
mov edx, dword [0x6c8400]
mov dword [ebp - 0xb0c], ecx
cmp dword [edx + eax*4], 1
je 0x4c7daa
mov esi, dword [ebp - 0x2c8]
mov eax, dword [ebp - 0xb10]
neg eax
add eax, dword [ebp - 0xb0c]
cmp dword [edx + eax*4], 1
je 0x4c783b
push dword [0x6c8230]
push 0x76e588
call fcn.00570260
add esp, 8
mov ecx, 1
cmp dword [ebp - 0x10], 0
jle 0x4c70f3
mov eax, dword [0x6c81cc]
mov dword [ebp - 0x4ac], eax
mov edx, dword [0x6c8230]
mov esi, dword [0x6c825c]
mov edi, dword [0x6c8258]
mov eax, dword [0x6c8250]
mov dword [ebp - 0x4bc], edx
mov dword [ebp - 0x4b8], esi
mov dword [ebp - 0x4b4], edi
mov dword [ebp - 0x4b0], eax
mov edx, dword [0x6c8280]
mov esi, dword [0x6c828c]
mov edi, dword [0x6c8260]
mov eax, dword [0x6c8288]
mov dword [ebp - 0x4a8], edx
mov dword [ebp - 0x4a4], esi
mov dword [ebp - 0x4a0], edi
mov dword [ebp - 0x49c], eax
cmp dword [ebp - 0x10], 0
jle 0x4c77e5
mov esi, dword [0x6c6098]
mov dword [ebp - 0x148], ecx
mov ecx, dword [0x6c81c0]
mov edi, dword [0x6c60a0]
mov eax, dword [0x6c81c8]
mov dword [ebp - 0x8e8], esi
mov esi, dword [0x76e588]
mov dword [ebp - 0x900], ecx
mov ecx, esi
mov dword [ebp - 0x4f8], edi
mov edi, dword [ebp - 0x4ac]
imul edi, eax
imul ecx, dword [0x6c60ac]
mov dword [ebp - 0x8e4], ecx
mov ecx, dword [0x6c81a0]
sub ecx, edi
mov dword [ebp - 0x4f0], eax
mov edx, dword [0x6c60e0]
mov dword [ebp - 0x8fc], ecx
mov dword [ebp - 0x4f4], edx
add eax, ecx
mov dword [ebp - 0x8e0], eax
mov eax, dword [0x6c60f0]
neg eax
add eax, esi
mov esi, dword [0x6c60e4]
imul esi, edx
imul eax, dword [0x6c60ec]
mov ecx, dword [0x6c60d8]
shl ecx, 3
neg ecx
add ecx, edx
mov edx, dword [ebp - 0x4a8]
mov edi, dword [0x6c60b8]
sub edi, esi
mov esi, dword [ebp - 0x4a4]
add edi, ecx
add eax, edi
lea ecx, [edx*8]
mov edx, dword [ebp - 0x49c]
neg ecx
imul esi, edx
add ecx, dword [ebp - 0x4a0]
mov edi, dword [ebp - 0x4b4]
sub ecx, esi
mov esi, dword [ebp - 0x4b8]
add ecx, edx
imul esi, edi
mov edx, dword [ebp - 0x4b0]
neg esi
add esi, dword [ebp - 0x4bc]
mov dword [ebp - 0x8dc], ecx
add esi, edi
mov edi, dword [0x6c60b0]
lea ecx, [edx*8]
imul edi, dword [0x6c60ac]
sub esi, ecx
mov ecx, dword [0x6c60a4]
imul ecx, dword [0x6c60a0]
mov edx, dword [0x6c6078]
sub edx, edi
mov dword [ebp - 0x944], 0
sub edx, ecx
mov dword [ebp - 0x8f0], eax
mov ecx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x944]
mov dword [ebp - 0x8f8], edx
mov dword [ebp - 0x8f4], esi
lea edx, [eax + 1]
mov dword [ebp - 0x538], edx
test edx, edx
jle 0x4c77d0
cmp dword [ebp - 0x4f8], 0
je 0x4c782c
cmp dword [ebp - 0x4f4], 0
je 0x4c782c
cmp dword [ebp - 0x4f0], 0
je 0x4c782c
cmp dword [ebp - 0x49c], 0
je 0x4c782c
cmp dword [ebp - 0x538], 2
jl 0x4c782c
mov ecx, dword [ebp - 0x900]
mov esi, dword [ebp - 0x4f0]
mov edx, esi
imul edx, eax
lea edi, [ecx*8]
mov dword [ebp - 0x8ec], edi
sub esi, edi
add esi, dword [ebp - 0x8fc]
lea ecx, [esi + edx + 8]
and ecx, 0xf
je 0x4c72d5
test cl, 7
jne 0x4c782c
mov ecx, 1
lea esi, [ecx + 2]
cmp esi, dword [ebp - 0x538]
jg 0x4c782c
mov esi, dword [ebp - 0x538]
mov edi, esi
sub edi, ecx
and edi, 1
neg edi
add edi, esi
mov dword [ebp - 0x53c], edi
mov edi, dword [ebp - 0x8ec]
neg edi
add edi, dword [ebp - 0x8e0]
add edx, edi
mov dword [ebp - 0x8d8], edx
lea esi, [edi + eax*8]
mov edi, dword [ebp - 0x4f4]
imul edi, eax
mov dword [ebp - 0x51c], esi
mov esi, dword [ebp - 0x8f0]
add edi, esi
mov dword [ebp - 0x524], edi
mov edi, dword [ebp - 0x4b4]
imul edi, eax
lea edx, [esi + eax*8]
mov esi, dword [ebp - 0x8dc]
mov dword [ebp - 0x534], edx
add edi, dword [ebp - 0x8f4]
mov dword [ebp - 0x530], edi
lea edx, [esi + eax*8]
mov dword [ebp - 0x518], edx
mov edx, dword [ebp - 0x49c]
imul edx, eax
add edx, esi
mov dword [ebp - 0x520], edx
mov edx, dword [ebp - 0x8e8]
mov edi, dword [ebp - 0x4f8]
shl edx, 3
neg edx
add edx, edi
imul edi, eax
add edx, dword [ebp - 0x8f8]
add edx, dword [ebp - 0x8e4]
lea esi, [edx + eax*8]
add edx, edi
mov dword [ebp - 0x528], edx
mov dword [ebp - 0x52c], esi
mov edx, dword [ebp - 0x8d8]
test ecx, ecx
jbe 0x4c746b
mov dword [ebp - 0x944], eax
xor esi, esi
pxor xmm0, xmm0
mov eax, dword [ebp - 0x520]
mov edi, dword [ebp - 0x518]
movsd xmm1, qword [0x681838]
movsd qword [eax + esi*8 + 8], xmm0
mov eax, dword [ebp - 0x49c]
imul eax, esi
mulsd xmm1, qword [0x76e5b0]
movsd qword [edi + eax + 8], xmm0
mov edi, dword [ebp - 0x530]
mov eax, dword [ebp - 0x51c]
mulsd xmm1, qword [edi + esi*8 + 8]
mov edi, dword [ebp - 0x4f0]
imul edi, esi
movsd qword [edx + esi*8 + 8], xmm1
movsd qword [eax + edi + 8], xmm1
mov eax, dword [ebp - 0x524]
movsd xmm2, qword [edx + esi*8 + 8]
mov edi, dword [ebp - 0x534]
movsd qword [eax + esi*8 + 8], xmm2
mov eax, dword [ebp - 0x4f4]
imul eax, esi
movsd qword [edi + eax + 8], xmm2
mov edi, dword [ebp - 0x528]
mov eax, dword [ebp - 0x52c]
movsd qword [edi + esi*8 + 8], xmm0
mov edi, dword [ebp - 0x4f8]
imul edi, esi
inc esi
movsd qword [eax + edi + 8], xmm0
cmp esi, ecx
jb 0x4c73bc
mov eax, dword [ebp - 0x944]
mov esi, dword [ebp - 0x524]
lea edi, [esi + ecx*8 + 8]
test edi, 0xf
je 0x4c7565
mov dword [ebp - 0x944], eax
pxor xmm0, xmm0
mov esi, dword [ebp - 0x520]
mov eax, dword [ebp - 0x49c]
mov edi, dword [ebp - 0x518]
movups xmmword [esi + ecx*8 + 8], xmm0
mov esi, eax
imul esi, ecx
movsd xmm1, qword [0x681838]
mulsd xmm1, qword [0x76e5b0]
lea edi, [edi + esi + 8]
movsd qword [edi], xmm0
movhpd qword [eax + edi], xmm0
mov eax, dword [ebp - 0x530]
unpcklpd xmm1, xmm1
mov edi, dword [ebp - 0x4f0]
movups xmm2, xmmword [eax + ecx*8 + 8]
mulpd xmm1, xmm2
mov esi, edi
imul esi, ecx
movups xmmword [edx + ecx*8 + 8], xmm1
mov eax, dword [ebp - 0x51c]
lea eax, [eax + esi + 8]
mov esi, dword [ebp - 0x4f4]
movsd qword [eax], xmm1
movhpd qword [edi + eax], xmm1
mov edi, dword [ebp - 0x524]
movups xmm3, xmmword [edx + ecx*8 + 8]
mov eax, dword [ebp - 0x534]
movups xmmword [edi + ecx*8 + 8], xmm3
mov edi, esi
imul edi, ecx
lea eax, [eax + edi + 8]
movsd qword [eax], xmm3
movhpd qword [esi + eax], xmm3
mov eax, dword [ebp - 0x4f8]
mov esi, dword [ebp - 0x528]
mov edi, eax
imul edi, ecx
movups xmmword [esi + ecx*8 + 8], xmm0
mov esi, dword [ebp - 0x52c]
add ecx, 2
lea esi, [esi + edi + 8]
movsd qword [esi], xmm0
movhpd qword [eax + esi], xmm0
cmp ecx, dword [ebp - 0x53c]
jb 0x4c748b
jmp 0x4c7644
mov dword [ebp - 0x944], eax
pxor xmm0, xmm0
mov esi, dword [ebp - 0x520]
mov eax, dword [ebp - 0x49c]
mov edi, dword [ebp - 0x518]
movups xmmword [esi + ecx*8 + 8], xmm0
mov esi, eax
imul esi, ecx
movsd xmm1, qword [0x681838]
mulsd xmm1, qword [0x76e5b0]
lea edi, [edi + esi + 8]
movsd qword [edi], xmm0
movhpd qword [eax + edi], xmm0
mov eax, dword [ebp - 0x530]
unpcklpd xmm1, xmm1
mov edi, dword [ebp - 0x4f0]
movups xmm2, xmmword [eax + ecx*8 + 8]
mulpd xmm1, xmm2
mov esi, edi
imul esi, ecx
movups xmmword [edx + ecx*8 + 8], xmm1
mov eax, dword [ebp - 0x51c]
lea eax, [eax + esi + 8]
mov esi, dword [ebp - 0x4f4]
movsd qword [eax], xmm1
movhpd qword [edi + eax], xmm1
mov edi, dword [ebp - 0x524]
movups xmm3, xmmword [edx + ecx*8 + 8]
mov eax, dword [ebp - 0x534]
movups xmmword [edi + ecx*8 + 8], xmm3
mov edi, esi
imul edi, ecx
lea eax, [eax + edi + 8]
movsd qword [eax], xmm3
movhpd qword [esi + eax], xmm3
mov eax, dword [ebp - 0x4f8]
mov esi, dword [ebp - 0x528]
mov edi, eax
imul edi, ecx
movups xmmword [esi + ecx*8 + 8], xmm0
mov esi, dword [ebp - 0x52c]
add ecx, 2
lea esi, [esi + edi + 8]
movsd qword [esi], xmm0
movhpd qword [eax + esi], xmm0
cmp ecx, dword [ebp - 0x53c]
jb 0x4c756f
mov eax, dword [ebp - 0x944]
mov edx, dword [ebp - 0x538]
cmp edx, dword [ebp - 0x53c]
jbe 0x4c77d0
mov edx, dword [ebp - 0x900]
mov edi, dword [ebp - 0x4f0]
pxor xmm0, xmm0
imul edi, eax
lea esi, [edx*8]
neg esi
add esi, dword [ebp - 0x8e0]
add edi, esi
mov dword [ebp - 0x92c], edi
lea ecx, [esi + eax*8]
mov esi, dword [ebp - 0x4f4]
imul esi, eax
mov dword [ebp - 0x50c], ecx
mov ecx, dword [ebp - 0x8f0]
add esi, ecx
mov dword [ebp - 0x904], esi
mov esi, dword [ebp - 0x4b4]
imul esi, eax
lea edx, [ecx + eax*8]
mov ecx, dword [ebp - 0x8dc]
add esi, dword [ebp - 0x8f4]
mov dword [ebp - 0x4fc], esi
mov esi, dword [ebp - 0x4f8]
lea edi, [ecx + eax*8]
mov dword [ebp - 0x504], edi
mov edi, dword [ebp - 0x8e8]
mov dword [ebp - 0x500], edx
mov edx, dword [ebp - 0x49c]
imul edx, eax
shl edi, 3
neg edi
add edx, ecx
add edi, esi
add edi, dword [ebp - 0x8f8]
add edi, dword [ebp - 0x8e4]
mov dword [ebp - 0x514], edx
mov edx, dword [ebp - 0x92c]
lea ecx, [edi + eax*8]
mov dword [ebp - 0x508], ecx
imul eax, esi
add edi, eax
mov dword [ebp - 0x510], edi
mov eax, dword [ebp - 0x904]
mov ecx, dword [ebp - 0x53c]
mov esi, dword [ebp - 0x514]
mov edi, dword [ebp - 0x504]
movsd xmm1, qword [0x681838]
movsd qword [esi + ecx*8 + 8], xmm0
mov esi, dword [ebp - 0x49c]
imul esi, ecx
mulsd xmm1, qword [0x76e5b0]
movsd qword [edi + esi + 8], xmm0
mov edi, dword [ebp - 0x4fc]
mov esi, dword [ebp - 0x50c]
mulsd xmm1, qword [edi + ecx*8 + 8]
mov edi, dword [ebp - 0x4f0]
imul edi, ecx
movsd qword [edx + ecx*8 + 8], xmm1
movsd qword [esi + edi + 8], xmm1
mov edi, dword [ebp - 0x4f4]
imul edi, ecx
movsd xmm2, qword [edx + ecx*8 + 8]
movsd qword [eax + ecx*8 + 8], xmm2
mov esi, dword [ebp - 0x500]
movsd qword [esi + edi + 8], xmm2
mov esi, dword [ebp - 0x510]
mov edi, dword [ebp - 0x508]
movsd qword [esi + ecx*8 + 8], xmm0
mov esi, dword [ebp - 0x4f8]
imul esi, ecx
inc ecx
movsd qword [edi + esi + 8], xmm0
cmp ecx, dword [ebp - 0x538]
jb 0x4c7729
mov eax, dword [ebp - 0x538]
cmp eax, dword [ebp - 0x10]
jb 0x4c7246
mov ecx, dword [ebp - 0x148]
mov dword [ebp - 0x498], 0xffffffff
mov edi, 1
cmp dword [ebp - 0x10], 0
jle 0x4c41e3
mov eax, dword [ebp - 0x10]
xor ecx, ecx
test eax, eax
cmovg ecx, eax
inc ecx
jmp 0x4c41e3
mov edi, dword [ebp - 0xaac]
mov dword [ebp - 0xa78], 0
pxor xmm0, xmm0
lea edx, [edi + edx*8]
sub eax, edx
jmp 0x4c6834
mov dword [ebp - 0x53c], 0
jmp 0x4c764a
mov eax, dword [0x6c8500]
mov ecx, dword [0x6c84d0]
mov dword [ebp - 0xe74], eax
mov edx, dword [0x6c84dc]
shl eax, 3
mov dword [ebp - 0xdc0], eax
mov edi, dword [0x6c84d8]
mov eax, dword [ebp - 0xb0c]
imul edx, edi
imul edi, eax
mov dword [ebp - 0xe60], ecx
shl ecx, 3
mov dword [ebp - 0xd94], esi
mov dword [ebp - 0xe0c], ecx
mov ecx, dword [0x6c8508]
mov esi, dword [0x6c850c]
imul esi, ecx
imul ecx, eax
add edi, dword [0x6c84b0]
mov dword [ebp - 0xdb4], edi
sub edi, edx
add ecx, dword [0x6c84e0]
sub edi, dword [ebp - 0xe0c]
mov eax, ecx
sub eax, esi
sub eax, dword [ebp - 0xdc0]
mov dword [ebp - 0xe5c], esi
mov esi, dword [ebp - 0xd94]
neg esi
movsd xmm0, qword [edi + 8]
add esi, 0xb
movaps xmm1, xmm0
mov dword [ebp - 0xb18], edi
divsd xmm1, qword [eax + 8]
mov dword [ebp - 0xda0], 0
cmp esi, 2
jl 0x4c7c75
mov edi, dword [ebp - 0xe60]
mov dword [ebp - 0xdb8], 2
mov dword [ebp - 0xc0c], eax
mov eax, dword [ebp - 0xdb8]
lea edx, [edx + edi*8]
sub dword [ebp - 0xdb4], edx
mov edi, dword [ebp - 0xe74]
mov edx, dword [ebp - 0xe5c]
lea edx, [edx + edi*8]
sub ecx, edx
mov edx, 0xfffffffe
mov dword [ebp - 0xc10], ecx
mov edi, dword [ebp - 0xb18]
lea ecx, [eax*8]
lea edi, [edi + eax*8]
mov dword [ebp - 0xb14], edi
movsd xmm0, qword [edi]
comisd xmm0, xmmword [0x681820]
jbe 0x4c7c58
mov edi, dword [ebp - 0xc0c]
mov dword [ebp - 0xc00], ecx
lea ecx, [edi + eax*8]
mov edi, dword [ebp - 0xc10]
movsd xmm0, qword [ecx]
mov dword [ebp - 0xc08], ecx
mov ecx, dword [ebp - 0xc00]
lea edi, [edi + eax*8]
mov dword [ebp - 0xc04], edi
subsd xmm0, qword [edi - 8]
comisd xmm0, xmmword [0x681820]
jbe 0x4c79c8
mov edi, dword [ebp - 0xb18]
movsd xmm0, qword [edi + eax*8]
mov edi, dword [ebp - 0xdb4]
subsd xmm0, qword [edi + ecx - 8]
mov ecx, dword [ebp - 0xc0c]
movsd xmm2, qword [ecx + eax*8]
mov ecx, dword [ebp - 0xc04]
subsd xmm2, qword [ecx - 8]
divsd xmm0, xmm2
jmp 0x4c79cb
movaps xmm0, xmm1
movaps xmm2, xmm1
mulsd xmm2, qword [0x681840]
comisd xmm0, xmm2
jbe 0x4c7c53
lea ecx, [esi - 1]
mov dword [ebp - 0xd98], ecx
cmp ecx, eax
jl 0x4c7c0c
lea ecx, [esi + edx]
mov dword [ebp - 0xb04], ecx
cmp ecx, 2
jl 0x4c7d9b
mov ecx, dword [ebp - 0xdb4]
lea edi, [ecx + eax*8]
mov dword [ebp - 0xdbc], edi
and edi, 0xf
mov dword [ebp - 0xb00], edi
je 0x4c7a34
test byte [ebp - 0xb00], 7
jne 0x4c7d9b
mov dword [ebp - 0xb00], 1
mov ecx, dword [ebp - 0xb00]
lea edi, [ecx + 2]
cmp edi, dword [ebp - 0xb04]
jg 0x4c7d9b
mov dword [ebp - 0xd9c], edx
mov edx, dword [ebp - 0xb04]
mov ecx, edx
mov edi, dword [ebp - 0xb00]
sub ecx, edi
and ecx, 1
neg ecx
add ecx, edx
mov edx, dword [ebp - 0xd9c]
mov dword [ebp - 0xb08], ecx
test edi, edi
jbe 0x4c7ad3
mov dword [ebp - 0xd9c], edx
xor ecx, ecx
mov dword [ebp - 0xdb8], eax
mov dword [ebp - 0xd94], esi
mov eax, dword [ebp - 0xdbc]
mov edx, dword [ebp - 0xc04]
mov esi, dword [ebp - 0xc08]
mov edi, dword [ebp - 0xb14]
movsd xmm2, qword [esi + ecx*8 + 8]
movsd xmm3, qword [edi + ecx*8 + 8]
movsd qword [edx + ecx*8], xmm2
movsd qword [eax + ecx*8], xmm3
inc ecx
cmp ecx, dword [ebp - 0xb00]
jb 0x4c7aa2
mov edx, dword [ebp - 0xd9c]
mov eax, dword [ebp - 0xdb8]
mov esi, dword [ebp - 0xd94]
mov ecx, dword [ebp - 0xb00]
mov edi, dword [ebp - 0xc10]
add ecx, eax
lea edi, [edi + ecx*8]
test edi, 0xf
je 0x4c7b3b
mov dword [ebp - 0xd9c], edx
mov dword [ebp - 0xdb8], eax
mov dword [ebp - 0xd94], esi
mov eax, dword [ebp - 0xb00]
mov edx, dword [ebp - 0xdbc]
mov ecx, dword [ebp - 0xc04]
mov esi, dword [ebp - 0xc08]
mov edi, dword [ebp - 0xb14]
movups xmm2, xmmword [esi + eax*8 + 8]
movups xmm3, xmmword [edi + eax*8 + 8]
movups xmmword [ecx + eax*8], xmm2
movups xmmword [edx + eax*8], xmm3
add eax, 2
cmp eax, dword [ebp - 0xb08]
jb 0x4c7b1c
jmp 0x4c7b88
mov dword [ebp - 0xd9c], edx
mov dword [ebp - 0xdb8], eax
mov dword [ebp - 0xd94], esi
mov eax, dword [ebp - 0xb00]
mov edx, dword [ebp - 0xdbc]
mov ecx, dword [ebp - 0xc04]
mov esi, dword [ebp - 0xc08]
mov edi, dword [ebp - 0xb14]
movups xmm2, xmmword [esi + eax*8 + 8]
movups xmm3, xmmword [edi + eax*8 + 8]
movups xmmword [ecx + eax*8], xmm2
movups xmmword [edx + eax*8], xmm3
add eax, 2
cmp eax, dword [ebp - 0xb08]
jb 0x4c7b6b
mov edx, dword [ebp - 0xd9c]
mov eax, dword [ebp - 0xdb8]
mov esi, dword [ebp - 0xd94]
mov ecx, dword [ebp - 0xb08]
cmp ecx, dword [ebp - 0xb04]
jae 0x4c7c0c
mov ecx, dword [ebp - 0xdb4]
mov dword [ebp - 0xd9c], edx
mov dword [ebp - 0xdb8], eax
mov dword [ebp - 0xd94], esi
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0xb08]
mov edx, dword [ebp - 0xc04]
mov esi, dword [ebp - 0xc08]
mov edi, dword [ebp - 0xb14]
movsd xmm2, qword [esi + eax*8 + 8]
movsd xmm3, qword [edi + eax*8 + 8]
movsd qword [edx + eax*8], xmm2
movsd qword [ecx + eax*8], xmm3
inc eax
cmp eax, dword [ebp - 0xb04]
jb 0x4c7bdb
mov edx, dword [ebp - 0xd9c]
mov eax, dword [ebp - 0xdb8]
mov esi, dword [ebp - 0xd94]
movaps xmm3, xmm1
inc edx
mulsd xmm3, qword [0x681848]
pxor xmm2, xmm2
comisd xmm0, xmm3
mov ecx, dword [ebp - 0xc0c]
mov edi, dword [ebp - 0xb18]
movsd qword [ecx + esi*8], xmm2
movsd qword [edi + esi*8], xmm2
mov esi, 0xffffffff
mov ecx, dword [ebp - 0xda0]
cmova ecx, esi
dec eax
mov esi, dword [ebp - 0xd98]
mov dword [ebp - 0xda0], ecx
jmp 0x4c7c5a
movaps xmm1, xmm0
jmp 0x4c7c5a
mov esi, eax
inc eax
dec edx
cmp eax, esi
jle 0x4c7930
mov edx, dword [ebp - 0xb18]
mov eax, dword [ebp - 0xc0c]
movsd xmm0, qword [edx + 8]
divsd xmm0, qword [eax + 8]
mov edx, dword [0x6c8648]
neg edx
mov eax, dword [0x6c8628]
add edx, dword [ebp - 0xb0c]
test byte [ebp - 0xda0], 1
movsd qword [eax + edx*8], xmm0
je 0x4c706c
push 0x39
push str.Some_T_F_B_H_data_points_ignored_due_to_being_unrealistic
push 0x6813d0
mov eax, 0x681338
push eax
push eax
call fcn.00541c60
add esp, 0x14
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0xf58]
push eax
push 0x6814e4
push 0x8384ff00
push 0xffffffffffffffff
mov dword [eax], 0x2c
lea edx, [ebp - 0x928]
push edx
mov dword [eax + 4], str.WARNING:Transformer_BH_curve_has_unrealistic
call fcn.005b4d50
add esp, 0x18
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0xf50]
push eax
push 0x6814ec
push 0x8384ff00
push 0xffffffffffffffff
mov dword [eax], 0x13
lea edx, [ebp - 0x928]
push edx
mov dword [eax + 4], str.data_points._Trafo
call fcn.005b4d50
add esp, 0x18
mov eax, dword [0x76e588]
lea edx, [ebp - 0xf38]
push edx
push 0x6814f4
mov dword [edx], eax
lea ecx, [ebp - 0x928]
push ecx
call fcn.005b6b00
add esp, 0xc
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0xf48]
push eax
push 0x6814fc
push 0x8384ff00
push 0xffffffffffffffff
mov dword [eax], 0x19
lea edx, [ebp - 0x928]
push edx
mov dword [eax + 4], str.Some_points_were_ignored.
call fcn.005b4d50
add esp, 0x18
jmp 0x4c706c
mov dword [ebp - 0xb08], 0
jmp 0x4c7b9a
mov eax, dword [0x6c8500]
mov ecx, dword [0x6c850c]
pxor xmm0, xmm0
mov esi, dword [ebp - 0xb0c]
sub esi, ecx
lea edi, [eax*8]
imul esi, dword [0x6c8508]
mov dword [ebp - 0xd6c], edi
neg edi
add edi, dword [0x6c84e0]
mov dword [ebp - 0xe10], esi
movsd xmm1, qword [edi + esi + 8]
comisd xmm1, xmm0
ja 0x4c825b
mov dword [ebp - 0xe78], edx
mov esi, 2
mov edx, dword [0x6c8508]
lea edi, [esi*8]
imul ecx, edx
imul edx, dword [ebp - 0xb0c]
pxor xmm1, xmm1
mov dword [ebp - 0xbfc], edi
lea eax, [ecx + eax*8]
mov edi, dword [0x6c84e0]
mov dword [ebp - 0xbb0], eax
lea edi, [edi + esi*8]
add edi, edx
sub edi, eax
mov dword [ebp - 0xbac], edi
mov eax, dword [0x6c84e0]
movsd xmm0, qword [edi]
comisd xmm0, xmm1
ja 0x4c7f86
cmp esi, 0xa
je 0x4c7e84
inc esi
cmp esi, 0xa
jg 0x4c7e73
mov eax, dword [0x6c8500]
mov ecx, dword [0x6c850c]
lea edx, [eax*8]
mov dword [ebp - 0xd6c], edx
jmp 0x4c7dfe
mov edx, dword [ebp - 0xe78]
mov dword [ebp - 0x2c8], esi
jmp 0x4c7054
push 0x3a
mov edx, dword [ebp - 0xb10]
mov ecx, 0x681338
neg edx
push str.Saturation_disabled_in_one_transformer_due_to_lack_of_data
add edx, dword [ebp - 0xb0c]
mov eax, dword [ebp - 0xe78]
push 0x6813d0
push ecx
push ecx
mov dword [ebp - 0x2c8], esi
mov dword [eax + edx*4], 0
call fcn.00541c60
add esp, 0x14
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0xf78]
push eax
push 0x681504
push 0x8384ff00
push 0xffffffffffffffff
mov dword [eax], 0x29
lea edx, [ebp - 0x928]
push edx
mov dword [eax + 4], str.WARNING:_Transformer_BH_curve_has_no_data
call fcn.005b4d50
add esp, 0x18
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0xf70]
push eax
push 0x68150c
push 0x8384ff00
push 0xffffffffffffffff
mov dword [eax], 0x24
lea edx, [ebp - 0x928]
push edx
mov dword [eax + 4], str.Saturation_has_been_disabled._Trafo
call fcn.005b4d50
add esp, 0x18
mov eax, dword [0x76e588]
lea edx, [ebp - 0xf60]
push edx
push 0x681514
mov dword [ebp - 0xb0c], eax
lea ecx, [ebp - 0x928]
push ecx
mov dword [edx], eax
call fcn.005b6b00
add esp, 0xc
mov eax, dword [0x6c8400]
mov edx, dword [0x6c8420]
mov esi, dword [ebp - 0x2c8]
mov dword [ebp - 0xe78], eax
mov dword [ebp - 0xb10], edx
jmp 0x4c7e53
mov edi, dword [0x6c84b0]
mov dword [ebp - 0xe88], edx
pxor xmm0, xmm0
mov dword [ebp - 0xf34], ecx
mov edx, dword [0x6c84dc]
mov ecx, dword [0x6c84d8]
imul edx, ecx
mov dword [ebp - 0xe8c], edi
mov edi, dword [0x6c84d0]
mov dword [ebp - 0xe84], eax
mov dword [ebp - 0xe90], edx
mov dword [ebp - 0x2c8], esi
lea eax, [edi*8]
mov dword [ebp - 0xe94], eax
lea edx, [edx + edi*8]
mov eax, dword [ebp - 0xb0c]
imul ecx, eax
mov edi, dword [0x6c84b0]
mov dword [ebp - 0xe9c], ecx
mov dword [ebp - 0xe98], edx
lea edi, [edi + esi*8]
add edi, ecx
sub edi, edx
mov ecx, dword [ebp - 0xbac]
mov edx, dword [0x6c8648]
neg edx
movsd xmm1, qword [edi]
mov edi, esi
divsd xmm1, qword [ecx]
add edx, eax
neg edi
mov eax, dword [0x6c8628]
add edi, 0xb
mov dword [ebp - 0xea0], edi
shr edi, 1
movsd qword [eax + edx*8], xmm1
mov dword [ebp - 0xd84], edi
mov ecx, dword [ebp - 0xf34]
mov edx, dword [ebp - 0xe78]
test edi, edi
jbe 0x4c824c
mov dword [ebp - 0xe78], edx
mov edi, dword [ebp - 0xe8c]
mov edx, dword [ebp - 0xe9c]
mov eax, dword [ebp - 0xe84]
mov dword [ebp - 0xfcc], 0
mov dword [ebp - 0xf34], ecx
add edi, edx
mov edx, dword [ebp - 0xe88]
mov dword [ebp - 0xd94], esi
add eax, edx
mov edx, eax
sub eax, ecx
sub edx, dword [ebp - 0xbb0]
sub eax, dword [ebp - 0xd6c]
lea edx, [edx + esi*8]
mov dword [ebp - 0xd8c], edx
mov edx, edi
lea eax, [eax + esi*8]
sub edx, dword [ebp - 0xe98]
sub edi, dword [ebp - 0xe90]
lea edx, [edx + esi*8]
mov dword [ebp - 0xd88], edx
mov edx, dword [ebp - 0xe94]
sub edx, dword [ebp - 0xbfc]
sub edi, edx
mov edx, dword [ebp - 0xfcc]
mov dword [ebp - 0xd90], edi
nop dword [eax + eax]
mov ecx, edx
lea esi, [edx + edx]
shl ecx, 4
inc edx
mov edi, dword [ebp - 0xd8c]
sub esi, dword [ebp - 0xd94]
movsd xmm1, qword [edi + ecx]
mov edi, dword [ebp - 0xd88]
movsd qword [eax + esi*8 + 8], xmm1
movsd xmm3, qword [eax + ecx + 8]
movsd xmm2, qword [edi + ecx]
mov edi, dword [ebp - 0xd90]
movsd qword [eax + esi*8 + 0x10], xmm3
movsd qword [edi + esi*8 + 8], xmm2
movsd xmm4, qword [edi + ecx + 8]
movsd qword [edi + esi*8 + 0x10], xmm4
cmp edx, dword [ebp - 0xd84]
jb 0x4c80d0
mov dword [ebp - 0xfcc], edx
mov eax, edx
mov ecx, dword [ebp - 0xf34]
mov esi, dword [ebp - 0xd94]
mov edx, dword [ebp - 0xe78]
lea edi, [eax + eax + 1]
mov dword [ebp - 0xe7c], edi
mov eax, dword [ebp - 0xe84]
neg ecx
sub eax, dword [ebp - 0xbfc]
add ecx, dword [ebp - 0xe88]
add eax, ecx
mov ecx, dword [ebp - 0xe7c]
sub eax, dword [ebp - 0xd6c]
mov dword [ebp - 0xe80], eax
lea edi, [ecx - 1]
cmp edi, dword [ebp - 0xea0]
jae 0x4c8214
mov edi, dword [ebp - 0xe84]
mov dword [ebp - 0xe78], edx
mov edx, ecx
add edi, dword [ebp - 0xe88]
sub edi, dword [ebp - 0xbb0]
lea ecx, [esi + edx]
mov dword [ebp - 0xd94], esi
movsd xmm1, qword [edi + ecx*8 - 8]
mov dword [ebp - 0xf5c], ecx
lea esi, [eax + esi*8]
movsd qword [esi + edx*8], xmm1
mov eax, dword [ebp - 0xe8c]
mov edi, eax
mov edx, dword [ebp - 0xe90]
neg edx
mov esi, dword [ebp - 0xbfc]
sub edi, esi
mov ecx, dword [ebp - 0xe9c]
add edx, ecx
add eax, ecx
neg esi
sub eax, dword [ebp - 0xe98]
add edi, edx
add esi, dword [ebp - 0xe94]
mov edx, dword [ebp - 0xf5c]
neg esi
add esi, edi
movsd xmm2, qword [eax + edx*8 - 8]
mov eax, dword [ebp - 0xe7c]
mov edx, dword [ebp - 0xe78]
movsd qword [esi + eax*8], xmm2
mov esi, dword [ebp - 0xd94]
jmp 0x4c822f
mov eax, dword [ebp - 0xe8c]
mov ecx, dword [ebp - 0xe9c]
sub eax, dword [ebp - 0xbfc]
sub ecx, dword [ebp - 0xe90]
lea edi, [eax + ecx]
mov ecx, edi
mov eax, dword [ebp - 0xe80]
sub ecx, dword [ebp - 0xe94]
movsd qword [eax + 0x60], xmm0
movsd qword [ecx + 0x60], xmm0
jmp 0x4c7054
mov dword [ebp - 0xe7c], 1
jmp 0x4c814b
mov esi, dword [0x6c84dc]
neg esi
mov eax, dword [ebp - 0xb0c]
add esi, eax
mov ecx, dword [0x6c84d0]
shl ecx, 3
imul esi, dword [0x6c84d8]
neg ecx
add ecx, dword [0x6c84b0]
mov dword [ebp - 0x2c8], 1
movsd xmm0, qword [ecx + esi + 8]
mov ecx, dword [ebp - 0xe10]
mov esi, dword [0x6c8648]
neg esi
divsd xmm0, qword [edi + ecx + 8]
add esi, eax
mov eax, dword [0x6c8628]
movsd qword [eax + esi*8], xmm0
mov esi, 1
jmp 0x4c7054
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0xf18]
push eax
push 0x68151c
push 0x8384ff00
push 0xffffffffffffffff
mov dword [eax], 0x25
lea edx, [ebp - 0x928]
push edx
mov dword [eax + 4], 0x681aa8
call fcn.005b4d50
add esp, 0x18
push 0x22
push 0x6813d0
push 0x6e3140
call fcn.00471080
add esp, 0xc
jmp 0x4c6f4b
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0xec0]
push eax
push 0x681524
push 0x8384ff00
push 0xffffffffffffffff
mov dword [eax], 0x25
lea edx, [ebp - 0x928]
push edx
mov dword [eax + 4], 0x681ad0
call fcn.005b4d50
add esp, 0x18
push 0x22
push 0x6813d0
push 0x6e3140
call fcn.00471080
add esp, 0xc
jmp 0x4c6666
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0xea8]
push eax
push 0x68152c
push 0x8384ff00
push 0xffffffffffffffff
mov dword [eax], 0x25
lea edx, [ebp - 0x928]
push edx
mov dword [eax + 4], 0x681af8
call fcn.005b4d50
add esp, 0x18
push 0x22
push 0x6813d0
push 0x6e3140
call fcn.00471080
add esp, 0xc
jmp 0x4c6579
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0xe70]
push eax
push 0x681534
push 0x8384ff00
push 0xffffffffffffffff
mov dword [eax], 0x25
lea edx, [ebp - 0x928]
push edx
mov dword [eax + 4], 0x681b20
call fcn.005b4d50
add esp, 0x18
push 0x22
push 0x6813d0
push 0x6e3140
call fcn.00471080
add esp, 0xc
jmp 0x4c6350
mov eax, dword [ebp - 0x4c4]
mov esi, eax
cdq
xor esi, edx
sub esi, edx
cmp esi, dword [0x81eb08]
jle 0x4c84c8
push 0x81e9a8
push 0x48
lea eax, [ebp - 0xe58]
push eax
call fcn.004e7ac0
add esp, 0xc
movups xmm0, xmmword [ebp - 0xe58]
movups xmm1, xmmword [ebp - 0xe48]
movups xmm2, xmmword [ebp - 0xe38]
movups xmm3, xmmword [ebp - 0xe28]
movsd xmm4, qword [ebp - 0xe18]
movups xmmword [0x81e6e0], xmm0
movups xmmword [0x81e6f0], xmm1
movups xmmword [0x81e700], xmm2
movups xmmword [0x81e710], xmm3
movsd qword [0x81e720], xmm4
push 0x48
push 0x81e6e0
mov eax, 0x76e5b0
lea edx, [ebp - 0x2cc]
push eax
push eax
push 0x681338
push edx
push 0x81eb08
push 0x68153c
call fcn.004e7b00
add esp, 0x20
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [ebp - 0x2c8]
test eax, eax
jne 0x4c855d
push 0x81e9a8
push 0x48
lea eax, [ebp - 0xe08]
push eax
call fcn.004e7ac0
add esp, 0xc
movups xmm0, xmmword [ebp - 0xe08]
movups xmm1, xmmword [ebp - 0xdf8]
movups xmm2, xmmword [ebp - 0xde8]
movups xmm3, xmmword [ebp - 0xdd8]
movsd xmm4, qword [ebp - 0xdc8]
movups xmmword [0x81e6e0], xmm0
movups xmmword [0x81e6f0], xmm1
movups xmmword [0x81e700], xmm2
movups xmmword [0x81e710], xmm3
movsd qword [0x81e720], xmm4
push 0x48
push 0x81e6e0
mov eax, 0x76e5b0
mov edx, 0x681338
push eax
push eax
push edx
push edx
lea ecx, [ebp - 0x2cc]
push ecx
push 0x681540
call fcn.004e7b00
add esp, 0x20
mov ecx, dword [ebp - 0x2c8]
mov esi, dword [0x6c5e90]
neg esi
mov edx, dword [ebp - 0x2cc]
add esi, edx
mov eax, dword [0x6c5e70]
mov edi, dword [ebp - 0x10]
inc dword [eax + esi*4]
mov esi, dword [0x6c5eb8]
shl esi, 2
neg esi
add esi, dword [0x6c5e98]
mov eax, dword [0x76e588]
mov dword [esi + eax*4], edi
mov esi, dword [0x6c5e68]
shl esi, 2
neg esi
add esi, dword [0x6c5e48]
mov edi, dword [ebp - 0x1e0]
cmp dword [ebp - 0x54c], 0
mov dword [esi + eax*4], edi
je 0x4c85cf
mov esi, dword [0x6c6070]
neg edx
shl esi, 2
neg esi
add esi, dword [0x6c6050]
mov dword [esi + eax*4], edx
jmp 0x4c0d67
mov esi, dword [0x6c6070]
shl esi, 2
neg esi
add esi, dword [0x6c6050]
mov dword [esi + eax*4], edx
jmp 0x4c0d67
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0xac8]
push eax
push 0x681544
push 0x8384ff00
push 0xffffffffffffffff
mov dword [eax], 0x26
lea edx, [ebp - 0x928]
push edx
mov dword [eax + 4], str.SS_for_the_Xfmr_Nodes_are_not_defined.
call fcn.005b4d50
add esp, 0x18
push 0x22
push 0x6813d0
push 0x6e3140
call fcn.00471080
add esp, 0xc
jmp 0x4c0d35
mov dword [ebp - 0x1fc], 0
jmp 0x4c0b53
xor ecx, ecx
jmp 0x4c0a4d
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0xa90]
push eax
push 0x68154c
push 0x8384ff00
push 0xffffffffffffffff
mov dword [eax], 0x25
lea edx, [ebp - 0x928]
push edx
mov dword [eax + 4], 0x681b70
call fcn.005b4d50
add esp, 0x18
push 0x22
push 0x6813d0
push 0x6e3140
call fcn.00471080
add esp, 0xc
jmp 0x4bff42
test esi, 1
je 0x4c86c3
mov dword [ebp - 0x2c8], 1
jmp 0x4c62e4
test byte [ebp - 0x498], 1
je 0x4c62b4
mov eax, dword [0x6c81cc]
mov dword [ebp - 0x2c8], 1
mov dword [ebp - 0xc0], eax
jmp 0x4c4b37
xor ecx, ecx
jmp 0x4bfe4c
cmp ecx, 4
jl 0x4c872c
mov eax, ecx
xor edi, edi
and eax, 0xfffffffc
pxor xmm0, xmm0
movups xmmword [edx + edi*8], xmm0
movups xmmword [edx + edi*8 + 0x10], xmm0
add edi, 4
cmp edi, eax
jb 0x4c8701
cmp eax, ecx
jae 0x4bfd1f
pxor xmm0, xmm0
movsd qword [edx + eax*8], xmm0
inc eax
cmp eax, ecx
jb 0x4c871d
jmp 0x4bfd1f
xor eax, eax
jmp 0x4c8711
xor ecx, ecx
jmp 0x4bfca1
mov esi, 0xffffffff
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x4c4], eax
mov dword [ebp - 0x498], 0
jmp 0x4bfad8
mov eax, dword [0x76e588]
test eax, eax
je 0x4c1449
mov edi, dword [0x6c5e98]
mov edx, dword [0x6c5eb8]
mov dword [ebp - 0xa10], edi
mov dword [ebp - 0x9c0], edx
lea esi, [edi + eax*4]
lea ecx, [edx*4]
mov edx, dword [0x6c5e48]
sub esi, ecx
mov dword [ebp - 0xa0c], edx
lea edx, [edx + eax*4]
inc eax
mov dword [0x76e588], eax
mov edi, dword [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [0x6c5e68]
lea ecx, [edi*4]
sub edx, ecx
mov esi, dword [edx]
mov dword [ebp - 0x1e0], esi
cmp eax, dword [0x81eb10]
jle 0x4c8881
push 0x81e9a8
push 0x48
lea eax, [ebp - 0xf08]
push eax
call fcn.004e7ac0
add esp, 0xc
movups xmm0, xmmword [ebp - 0xf08]
movups xmm1, xmmword [ebp - 0xef8]
movups xmm2, xmmword [ebp - 0xee8]
movups xmm3, xmmword [ebp - 0xed8]
movsd xmm4, qword [ebp - 0xec8]
movups xmmword [0x81e6e0], xmm0
movups xmmword [0x81e6f0], xmm1
movups xmmword [0x81e700], xmm2
movups xmmword [0x81e710], xmm3
movsd qword [0x81e720], xmm4
push 0x48
push 0x81e6e0
mov eax, 0x76e5b0
mov edx, 0x76e588
push eax
push eax
push edx
push edx
push 0x81eb10
push 0x68133c
call fcn.004e7b00
add esp, 0x20
mov edi, dword [0x6c5e48]
mov edx, dword [0x6c5e98]
mov ecx, dword [0x6c5eb8]
mov dword [ebp - 0xa0c], edi
mov esi, dword [ebp - 0x1e0]
mov eax, dword [0x76e588]
mov dword [ebp - 0xa10], edx
mov dword [ebp - 0x9c0], ecx
mov edi, dword [0x6c5e68]
mov ecx, dword [0x6c5e90]
neg ecx
mov edx, dword [ebp - 0x2cc]
add ecx, edx
mov dword [ebp - 0x9bc], edx
mov edx, dword [0x6c5e70]
shl edi, 2
neg edi
inc dword [edx + ecx*4]
mov ecx, dword [ebp - 0x9c0]
shl ecx, 2
neg ecx
mov edx, dword [ebp - 0xa10]
add edx, ecx
mov ecx, dword [ebp - 0x10]
mov dword [edx + eax*4], ecx
mov edx, dword [ebp - 0xa0c]
add edx, edi
mov dword [edx + eax*4], esi
mov esi, dword [0x6c6070]
shl esi, 2
neg esi
add esi, dword [0x6c6050]
mov edx, dword [ebp - 0x498]
and edx, 1
je 0x4c88fc
mov ecx, dword [ebp - 0x9bc]
neg ecx
mov dword [esi + eax*4], ecx
cmp dword [ebp - 0x10], 0
jle 0x4c86d0
jmp 0x4c890f
mov ecx, dword [ebp - 0x9bc]
mov dword [esi + eax*4], ecx
cmp dword [ebp - 0x10], 0
jle 0x4c62b4
mov dword [ebp - 0x2c8], 1
mov dword [ebp - 0x7fc], edx
lea eax, [ebp - 0x708]
jmp 0x4c892d
mov dword [ebp - 0x2c8], ecx
call fcn.004e32e0
add esp, 0xffffffe0
movq xmm0, qword [0x681860]
movq xmm1, qword [0x681868]
movq xmm2, qword [0x681870]
mov dword [esp], 0x81e680
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], str.TRANSFORMERS:
movq qword [esp + 0x10], xmm1
movq qword [esp + 0x18], xmm2
call fcn.005b4100
add esp, 0x20
test eax, eax
jne 0x4c9bd7
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0x708]
push eax
push 0x681554
push 0x8384ff03
push dword [0x81e9a8]
lea edx, [ebp - 0x928]
push edx
lea ecx, [ebp - 0x2c4]
mov dword [eax], ecx
call fcn.005c6ec0
add esp, 0x18
test eax, eax
jne 0x4c89e2
lea edx, [ebp - 0x8d0]
push edx
push 0x68155c
lea ecx, [ebp - 0x928]
push ecx
lea eax, [ebp - 0x2c0]
mov dword [edx], eax
call fcn.005c8930
add esp, 0xc
cmp eax, 0xffffffff
je 0x4c14f3
test eax, eax
jg 0x4c1449
lea eax, [ebp - 0x2bc]
push eax
lea edx, [ebp - 0x2c4]
push edx
push dword [ebx + 8]
call fcn.00454860
add esp, 0xc
lea eax, [ebp - 0x2b8]
push eax
lea edx, [ebp - 0x2c0]
push edx
push dword [ebx + 8]
call fcn.00454860
add esp, 0xc
mov edx, dword [ebp - 0x2bc]
cmp edx, dword [ebp - 0x2b4]
jg 0x4c8a45
mov ecx, dword [ebp - 0x2b8]
cmp ecx, dword [ebp - 0x2b4]
jle 0x4c8ad9
push 0x81e9a8
push 0x48
lea eax, [ebp - 0xbf8]
push eax
call fcn.004e7ac0
add esp, 0xc
movups xmm0, xmmword [ebp - 0xbf8]
movups xmm1, xmmword [ebp - 0xbe8]
movups xmm2, xmmword [ebp - 0xbd8]
movups xmm3, xmmword [ebp - 0xbc8]
movsd xmm4, qword [ebp - 0xbb8]
movups xmmword [0x81e6e0], xmm0
movups xmmword [0x81e6f0], xmm1
movups xmmword [0x81e700], xmm2
movups xmmword [0x81e710], xmm3
movsd qword [0x81e720], xmm4
push 0x48
push 0x81e6e0
mov eax, 0x76e5b0
lea edx, [ebp - 0x2c8]
push eax
push eax
push edx
push edx
lea ecx, [ebp - 0x2cc]
push ecx
push 0x6813d4
call fcn.004e7b00
add esp, 0x20
mov edx, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2b8]
mov eax, edx
or eax, ecx
jl 0x4c8b54
cmp edx, ecx
je 0x4c8b54
mov eax, edx
add eax, ecx
je 0x4c8b54
mov esi, dword [0x6c5f1c]
neg esi
mov dword [ebp - 0x97c], ecx
mov ecx, dword [0x6c5f10]
mov eax, dword [0x76e588]
add esi, eax
shl ecx, 2
mov edi, dword [0x6c5ef0]
sub edi, ecx
imul esi, dword [0x6c5f18]
mov ecx, dword [ebp - 0x2c8]
lea edi, [edi + ecx*4]
mov dword [edi + esi], edx
mov edx, dword [0x6c5eec]
neg edx
add edx, eax
mov eax, dword [0x6c5ee0]
shl eax, 2
mov esi, dword [0x6c5ec0]
sub esi, eax
imul edx, dword [0x6c5ee8]
mov eax, dword [ebp - 0x97c]
lea esi, [esi + ecx*4]
mov dword [esi + edx], eax
jmp 0x4c8be2
push 0x81e9a8
push 0x48
lea eax, [ebp - 0xba8]
push eax
call fcn.004e7ac0
add esp, 0xc
movups xmm0, xmmword [ebp - 0xba8]
movups xmm1, xmmword [ebp - 0xb98]
movups xmm2, xmmword [ebp - 0xb88]
movups xmm3, xmmword [ebp - 0xb78]
movsd xmm4, qword [ebp - 0xb68]
movups xmmword [0x81e6e0], xmm0
movups xmmword [0x81e6f0], xmm1
movups xmmword [0x81e700], xmm2
movups xmmword [0x81e710], xmm3
movsd qword [0x81e720], xmm4
push 0x48
push 0x81e6e0
mov eax, 0x76e5b0
lea edx, [ebp - 0x2c8]
push eax
push eax
push edx
push edx
lea ecx, [ebp - 0x2cc]
push ecx
push 0x6813d8
call fcn.004e7b00
add esp, 0x20
mov ecx, dword [ebp - 0x2c8]
test ecx, ecx
jle 0x4c9b63
mov edx, dword [0x6c81a0]
mov esi, dword [0x6c81cc]
mov dword [ebp - 0x46c], edx
mov dword [ebp - 0xc0], esi
mov edi, dword [0x6c81c8]
mov edx, dword [0x6c81c0]
mov esi, dword [0x6c8230]
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0x7a0], edx
mov dword [ebp - 0x774], esi
mov edi, dword [0x6c825c]
mov edx, dword [0x6c8258]
mov esi, dword [0x6c8250]
mov dword [ebp - 0x75c], edi
mov dword [ebp - 0x338], edx
mov dword [ebp - 0x798], esi
mov edi, dword [0x6c60b8]
mov edx, dword [0x6c60f0]
mov esi, dword [0x6c60ec]
mov dword [ebp - 0x300], edi
mov dword [ebp - 0x764], edx
mov dword [ebp - 0x788], esi
mov edi, dword [0x6c60e4]
mov edx, dword [0x6c60e0]
mov esi, dword [0x6c60d8]
mov dword [ebp - 0x760], edi
mov dword [ebp - 0x30c], edx
mov dword [ebp - 0x79c], esi
mov edi, dword [0x6c6078]
mov edx, dword [0x6c60b0]
mov esi, dword [0x6c60ac]
mov dword [ebp - 0x2f0], edi
mov dword [ebp - 0x7f4], edx
mov dword [ebp - 0x778], esi
mov edi, dword [0x6c60a4]
mov edx, dword [0x6c60a0]
mov esi, dword [0x6c6098]
mov eax, dword [0x76e588]
mov dword [ebp - 0x7f0], edi
mov dword [ebp - 0x310], edx
mov dword [ebp - 0x76c], esi
cmp dword [ebp - 0x7fc], 0
je 0x4c92c0
cmp dword [ebp - 0x310], 0
je 0x4c9b7a
cmp dword [ebp - 0x30c], 0
je 0x4c9b7a
cmp ecx, 2
jl 0x4c9b7a
mov edx, dword [ebp - 0x778]
mov dword [ebp - 0x754], eax
imul eax, edx
imul edx, dword [ebp - 0x7f4]
mov esi, dword [ebp - 0x2f0]
mov dword [ebp - 0x780], eax
mov edi, dword [ebp - 0x310]
mov dword [ebp - 0x2dc], ecx
add eax, esi
mov esi, ecx
imul esi, edi
imul edi, dword [ebp - 0x7f0]
mov ecx, dword [ebp - 0x76c]
mov dword [ebp - 0x2fc], eax
sub eax, edx
mov dword [ebp - 0x77c], edx
mov edx, esi
sub edx, edi
shl ecx, 3
add eax, edx
sub eax, ecx
add eax, 8
mov dword [ebp - 0x784], ecx
mov dword [ebp - 0x768], edi
mov ecx, dword [ebp - 0x2dc]
and eax, 0xf
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x754]
je 0x4c8da7
test byte [ebp - 0x2ec], 7
jne 0x4c9b7a
mov dword [ebp - 0x2ec], 1
mov edx, dword [ebp - 0x2ec]
lea edi, [edx + 2]
cmp ecx, edi
jl 0x4c9b7a
mov edx, ecx
neg esi
sub edx, dword [ebp - 0x2ec]
and edx, 1
neg edx
add edx, ecx
mov dword [ebp - 0x314], edx
mov edx, dword [ebp - 0x76c]
mov edi, dword [ebp - 0x768]
add esi, dword [ebp - 0x77c]
mov dword [ebp - 0x750], esi
mov dword [ebp - 0x2dc], ecx
lea edi, [edi + edx*8]
mov edx, dword [ebp - 0x2fc]
sub edx, esi
mov dword [ebp - 0x74c], edi
sub edx, edi
mov edi, dword [ebp - 0x30c]
mov esi, dword [ebp - 0x788]
imul ecx, edi
imul edi, dword [ebp - 0x760]
mov dword [ebp - 0x754], eax
neg ecx
imul eax, esi
imul esi, dword [ebp - 0x764]
mov dword [ebp - 0x748], esi
add ecx, esi
mov esi, dword [ebp - 0x79c]
mov dword [ebp - 0x2fc], edx
mov dword [ebp - 0x744], edi
lea edx, [esi*8]
mov dword [ebp - 0x740], edx
lea edi, [edi + esi*8]
mov dword [ebp - 0x73c], edi
mov esi, dword [ebp - 0x300]
lea edx, [esi + eax]
sub eax, dword [ebp - 0x748]
sub edx, ecx
sub edx, edi
mov dword [ebp - 0x328], edx
mov edx, dword [ebp - 0x2dc]
lea edi, [esi + edx*8]
add edi, eax
mov eax, dword [ebp - 0x744]
sub eax, dword [ebp - 0x30c]
sub edi, eax
sub edi, dword [ebp - 0x740]
mov dword [ebp - 0x2f4], edi
mov edi, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x780]
sub eax, dword [ebp - 0x77c]
lea edx, [edi + edx*8]
add edx, eax
mov eax, dword [ebp - 0x768]
sub eax, dword [ebp - 0x310]
sub edx, eax
sub edx, dword [ebp - 0x784]
mov dword [ebp - 0x2e0], edx
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x778]
lea edx, [edx - 1]
imul eax, edx
imul edx, dword [ebp - 0x788]
add eax, edi
add edx, esi
sub eax, dword [ebp - 0x750]
sub edx, ecx
sub eax, dword [ebp - 0x74c]
sub edx, dword [ebp - 0x73c]
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x754]
cmp dword [ebp - 0x2ec], 0
jbe 0x4c8f91
mov dword [ebp - 0x754], eax
xor esi, esi
mov dword [ebp - 0x2dc], ecx
mov eax, dword [ebp - 0x2fc]
nop dword [eax + eax]
mov ecx, dword [ebp - 0x328]
movsd xmm0, qword [edx + esi*8 + 8]
mov edi, dword [ebp - 0x2f4]
movsd qword [ecx + esi*8 + 8], xmm0
mov ecx, dword [ebp - 0x30c]
imul ecx, esi
movsd qword [edi + ecx], xmm0
mov edi, dword [ebp - 0x318]
mov ecx, dword [ebp - 0x2e0]
movsd xmm1, qword [edi + esi*8 + 8]
mov edi, dword [ebp - 0x310]
imul edi, esi
movsd qword [eax + esi*8 + 8], xmm1
inc esi
movsd qword [ecx + edi], xmm1
cmp esi, dword [ebp - 0x2ec]
jb 0x4c8f30
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x754]
mov esi, dword [ebp - 0x328]
mov edi, dword [ebp - 0x2ec]
lea esi, [esi + edi*8 + 8]
test esi, 0xf
je 0x4c902e
mov dword [ebp - 0x2dc], ecx
mov dword [ebp - 0x754], eax
mov esi, edi
nop dword [eax + eax]
movups xmm0, xmmword [edx + esi*8 + 8]
mov edi, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x30c]
mov eax, dword [ebp - 0x2f4]
movups xmmword [edi + esi*8 + 8], xmm0
mov edi, ecx
imul edi, esi
add eax, edi
movsd qword [eax], xmm0
movhpd qword [ecx + eax], xmm0
mov ecx, dword [ebp - 0x318]
mov eax, dword [ebp - 0x2fc]
movups xmm1, xmmword [ecx + esi*8 + 8]
movups xmmword [eax + esi*8 + 8], xmm1
mov eax, dword [ebp - 0x310]
mov edi, eax
imul edi, esi
add esi, 2
mov ecx, dword [ebp - 0x2e0]
add ecx, edi
movsd qword [ecx], xmm1
movhpd qword [eax + ecx], xmm1
cmp esi, dword [ebp - 0x314]
jb 0x4c8fc0
jmp 0x4c90a9
mov dword [ebp - 0x2dc], ecx
mov dword [ebp - 0x754], eax
mov esi, edi
nop dword [eax]
mov edi, dword [ebp - 0x328]
movups xmm0, xmmword [edx + esi*8 + 8]
mov ecx, dword [ebp - 0x30c]
movups xmmword [edi + esi*8 + 8], xmm0
mov edi, ecx
imul edi, esi
mov eax, dword [ebp - 0x2f4]
add eax, edi
movsd qword [eax], xmm0
movhpd qword [ecx + eax], xmm0
mov ecx, dword [ebp - 0x318]
mov eax, dword [ebp - 0x2fc]
movups xmm1, xmmword [ecx + esi*8 + 8]
movups xmmword [eax + esi*8 + 8], xmm1
mov eax, dword [ebp - 0x310]
mov edi, eax
imul edi, esi
add esi, 2
mov ecx, dword [ebp - 0x2e0]
add ecx, edi
movsd qword [ecx], xmm1
movhpd qword [eax + ecx], xmm1
cmp esi, dword [ebp - 0x314]
jb 0x4c9040
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x754]
cmp ecx, dword [ebp - 0x314]
jbe 0x4c92b1
mov edi, dword [ebp - 0x310]
mov dword [ebp - 0x2dc], ecx
imul ecx, edi
mov edx, dword [ebp - 0x778]
neg ecx
mov esi, dword [ebp - 0x7f4]
imul esi, edx
mov dword [ebp - 0x7f4], esi
add ecx, esi
mov esi, dword [ebp - 0x7f0]
imul esi, edi
mov edi, dword [ebp - 0x76c]
mov dword [ebp - 0x754], eax
imul eax, edx
mov dword [ebp - 0x7f0], esi
lea edx, [edi*8]
mov dword [ebp - 0x7e4], edx
lea edx, [esi + edi*8]
mov esi, dword [ebp - 0x2f0]
mov dword [ebp - 0x7ec], eax
mov dword [ebp - 0x7e0], edx
mov dword [ebp - 0x7e8], ecx
lea edi, [esi + eax]
sub edi, ecx
sub edi, edx
mov dword [ebp - 0x324], edi
mov esi, dword [ebp - 0x2dc]
mov edi, dword [ebp - 0x30c]
imul esi, edi
mov eax, dword [ebp - 0x788]
neg esi
mov edx, dword [ebp - 0x764]
imul edx, eax
mov dword [ebp - 0x764], edx
add esi, edx
mov edx, dword [ebp - 0x760]
imul edx, edi
mov edi, dword [ebp - 0x79c]
mov ecx, dword [ebp - 0x754]
imul ecx, eax
mov dword [ebp - 0x760], edx
lea eax, [edi*8]
mov dword [ebp - 0x7dc], eax
lea eax, [edx + edi*8]
mov edx, dword [ebp - 0x300]
mov dword [ebp - 0x7d8], eax
lea edi, [edx + ecx]
sub ecx, dword [ebp - 0x764]
sub edi, esi
sub edi, eax
mov eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x320], edi
lea edi, [edx + eax*8]
add edi, ecx
mov ecx, dword [ebp - 0x760]
sub ecx, dword [ebp - 0x30c]
sub edi, ecx
mov ecx, dword [ebp - 0x2f0]
sub edi, dword [ebp - 0x7dc]
mov dword [ebp - 0x7d4], edi
lea edi, [ecx + eax*8]
mov eax, dword [ebp - 0x7ec]
sub eax, dword [ebp - 0x7f4]
add edi, eax
mov eax, dword [ebp - 0x7f0]
sub eax, dword [ebp - 0x310]
sub edi, eax
sub edi, dword [ebp - 0x7e4]
mov eax, dword [ebp - 0x754]
dec eax
mov dword [ebp - 0x7d0], edi
mov edi, dword [ebp - 0x778]
imul edi, eax
imul eax, dword [ebp - 0x788]
add ecx, edi
add edx, eax
sub ecx, dword [ebp - 0x7e8]
sub edx, esi
sub ecx, dword [ebp - 0x7e0]
sub edx, dword [ebp - 0x7d8]
mov dword [ebp - 0x2f0], ecx
mov dword [ebp - 0x300], edx
mov ecx, dword [ebp - 0x2dc]
mov edx, dword [ebp - 0x7d4]
mov eax, dword [ebp - 0x7d0]
mov esi, dword [ebp - 0x314]
nop word [eax + eax]
mov edi, dword [ebp - 0x300]
movsd xmm0, qword [edi + esi*8 + 8]
mov edi, dword [ebp - 0x320]
movsd qword [edi + esi*8 + 8], xmm0
mov edi, dword [ebp - 0x30c]
imul edi, esi
movsd qword [edx + edi], xmm0
mov edi, dword [ebp - 0x2f0]
movsd xmm1, qword [edi + esi*8 + 8]
mov edi, dword [ebp - 0x324]
movsd qword [edi + esi*8 + 8], xmm1
mov edi, dword [ebp - 0x310]
imul edi, esi
inc esi
movsd qword [eax + edi], xmm1
cmp esi, ecx
jb 0x4c9260
inc ecx
cmp ecx, dword [ebp - 0x10]
jle 0x4c8927
jmp 0x4c9b6f
cmp dword [ebp - 0x310], 0
je 0x4c9ba0
cmp dword [ebp - 0x30c], 0
je 0x4c9ba0
cmp dword [ebp - 0xdc], 0
je 0x4c9ba0
cmp ecx, 2
jl 0x4c9ba0
mov esi, dword [ebp - 0x778]
mov dword [ebp - 0x754], eax
imul eax, esi
imul esi, dword [ebp - 0x7f4]
mov edi, dword [ebp - 0x2f0]
mov dword [ebp - 0x2dc], ecx
imul ecx, edx
imul edx, dword [ebp - 0x7f0]
mov dword [ebp - 0x790], eax
add edi, eax
mov eax, dword [ebp - 0x76c]
mov dword [ebp - 0x2f8], edi
sub edi, esi
mov dword [ebp - 0x758], ecx
sub ecx, edx
add edi, ecx
shl eax, 3
sub edi, eax
add edi, 8
mov dword [ebp - 0x794], eax
mov dword [ebp - 0x78c], esi
mov dword [ebp - 0x770], edx
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x754]
and edi, 0xf
je 0x4c9378
test edi, 7
jne 0x4c9ba0
mov edi, 1
lea edx, [edi + 2]
cmp ecx, edx
jl 0x4c9ba0
mov edx, ecx
mov dword [ebp - 0x2d0], edi
sub edx, edi
mov edi, dword [ebp - 0xdc]
and edx, 1
imul edi, dword [ebp - 0xc0]
neg edx
mov esi, dword [ebp - 0x7a0]
add edx, ecx
mov dword [ebp - 0x304], edx
mov dword [ebp - 0x738], edi
mov edi, dword [ebp - 0x770]
lea edx, [esi*8]
mov dword [ebp - 0x734], edx
mov edx, dword [ebp - 0x76c]
mov esi, dword [ebp - 0x758]
neg esi
add esi, dword [ebp - 0x78c]
lea edi, [edi + edx*8]
mov edx, dword [ebp - 0x2f8]
sub edx, esi
mov dword [ebp - 0x730], edi
sub edx, edi
mov dword [ebp - 0x758], esi
mov edi, dword [ebp - 0x30c]
mov esi, dword [ebp - 0x788]
mov dword [ebp - 0x2dc], ecx
imul ecx, edi
imul edi, dword [ebp - 0x760]
mov dword [ebp - 0x754], eax
neg ecx
imul eax, esi
imul esi, dword [ebp - 0x764]
mov dword [ebp - 0x728], esi
add ecx, esi
mov esi, dword [ebp - 0x79c]
mov dword [ebp - 0x2f8], edx
mov dword [ebp - 0x72c], eax
mov dword [ebp - 0x720], edi
lea edx, [esi*8]
mov dword [ebp - 0x71c], edx
lea edi, [edi + esi*8]
mov edx, dword [ebp - 0x300]
mov dword [ebp - 0x724], ecx
mov dword [ebp - 0x718], edi
add eax, edx
mov edx, dword [ebp - 0x338]
sub eax, ecx
sub eax, edi
mov edi, edx
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x798]
imul edi, dword [ebp - 0x75c]
mov dword [ebp - 0x714], edi
lea ecx, [eax*8]
mov dword [ebp - 0x710], ecx
lea edi, [edi + eax*8]
mov ecx, dword [ebp - 0x2dc]
mov esi, ecx
mov eax, ecx
imul esi, edx
imul eax, dword [ebp - 0xdc]
add esi, dword [ebp - 0x774]
sub esi, edi
mov dword [ebp - 0x33c], esi
mov esi, dword [ebp - 0x7a0]
mov edx, dword [ebp - 0x738]
mov edi, dword [ebp - 0x46c]
add eax, edi
lea esi, [edx + esi*8]
sub edx, dword [ebp - 0xdc]
sub eax, esi
lea edi, [edi + ecx*8]
mov dword [ebp - 0x334], eax
sub edi, edx
mov eax, dword [ebp - 0x774]
sub edi, dword [ebp - 0x734]
mov edx, dword [ebp - 0x714]
sub edx, dword [ebp - 0x338]
mov dword [ebp - 0x330], edi
lea edi, [eax + ecx*8]
sub edi, edx
sub edi, dword [ebp - 0x710]
mov dword [ebp - 0x32c], edi
mov edi, dword [ebp - 0x300]
mov eax, dword [ebp - 0x72c]
sub eax, dword [ebp - 0x728]
mov esi, dword [ebp - 0x720]
lea edx, [edi + ecx*8]
sub esi, dword [ebp - 0x30c]
add edx, eax
sub edx, esi
mov eax, dword [ebp - 0x2f0]
sub edx, dword [ebp - 0x71c]
mov dword [ebp - 0x2e8], edx
mov edx, dword [ebp - 0x790]
lea esi, [eax + ecx*8]
sub edx, dword [ebp - 0x78c]
add esi, edx
mov edx, dword [ebp - 0x770]
sub edx, dword [ebp - 0x310]
sub esi, edx
sub esi, dword [ebp - 0x794]
mov dword [ebp - 0x2e4], esi
mov esi, dword [ebp - 0x754]
mov edx, dword [ebp - 0x778]
lea esi, [esi - 1]
imul edx, esi
imul esi, dword [ebp - 0x788]
add edx, eax
add esi, edi
sub edx, dword [ebp - 0x758]
sub esi, dword [ebp - 0x724]
sub edx, dword [ebp - 0x730]
sub esi, dword [ebp - 0x718]
mov edi, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x754]
mov dword [ebp - 0x31c], edx
test edi, edi
jbe 0x4c968b
mov dword [ebp - 0x2dc], ecx
xor edx, edx
mov dword [ebp - 0x2d0], edi
mov dword [ebp - 0x754], eax
mov ecx, dword [ebp - 0x33c]
mov edi, dword [ebp - 0x334]
mov eax, dword [ebp - 0xdc]
movsd xmm0, qword [ecx + edx*8 + 8]
movsd qword [edi + edx*8 + 8], xmm0
mov edi, dword [ebp - 0x338]
imul edi, edx
imul eax, edx
movsd xmm2, qword [esi + edx*8 + 8]
mov ecx, dword [ebp - 0x32c]
movsd xmm1, qword [ecx + edi]
mov ecx, dword [ebp - 0x330]
mov edi, dword [ebp - 0x31c]
movsd qword [ecx + eax], xmm1
mov eax, dword [ebp - 0x340]
mov ecx, dword [ebp - 0x30c]
imul ecx, edx
movsd qword [eax + edx*8 + 8], xmm2
movsd xmm3, qword [edi + edx*8 + 8]
mov eax, dword [ebp - 0x2e8]
movsd qword [eax + ecx], xmm2
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x2e4]
movsd qword [eax + edx*8 + 8], xmm3
mov eax, dword [ebp - 0x310]
imul eax, edx
inc edx
movsd qword [ecx + eax], xmm3
cmp edx, dword [ebp - 0x2d0]
jb 0x4c95da
mov ecx, dword [ebp - 0x2dc]
mov edi, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x754]
mov edx, dword [ebp - 0x340]
lea edx, [edx + edi*8 + 8]
test dl, 0xf
je 0x4c9768
mov dword [ebp - 0x2dc], ecx
mov dword [ebp - 0x754], eax
mov eax, dword [ebp - 0x33c]
mov ecx, dword [ebp - 0x338]
mov edx, dword [ebp - 0x334]
movups xmm0, xmmword [eax + edi*8 + 8]
movups xmm3, xmmword [esi + edi*8 + 8]
movups xmmword [edx + edi*8 + 8], xmm0
mov eax, ecx
imul eax, edi
add eax, dword [ebp - 0x32c]
mov edx, dword [ebp - 0x330]
movsd xmm2, qword [eax + ecx]
mov ecx, dword [ebp - 0xdc]
movsd xmm1, qword [eax]
mov eax, ecx
imul eax, edi
add edx, eax
mov eax, dword [ebp - 0x2e8]
movsd qword [edx], xmm1
movsd qword [ecx + edx], xmm2
mov ecx, dword [ebp - 0x340]
mov edx, dword [ebp - 0x30c]
movups xmmword [ecx + edi*8 + 8], xmm3
mov ecx, edx
imul ecx, edi
add eax, ecx
movsd qword [eax], xmm3
movhpd qword [edx + eax], xmm3
mov edx, dword [ebp - 0x31c]
mov eax, dword [ebp - 0x2f8]
movups xmm4, xmmword [edx + edi*8 + 8]
movups xmmword [eax + edi*8 + 8], xmm4
mov eax, dword [ebp - 0x310]
mov ecx, eax
imul ecx, edi
add edi, 2
mov edx, dword [ebp - 0x2e4]
add edx, ecx
movsd qword [edx], xmm4
movhpd qword [eax + edx], xmm4
cmp edi, dword [ebp - 0x304]
jb 0x4c96aa
jmp 0x4c982d
mov dword [ebp - 0x2dc], ecx
mov dword [ebp - 0x754], eax
mov eax, dword [ebp - 0x33c]
mov ecx, dword [ebp - 0x338]
mov edx, dword [ebp - 0x334]
movups xmm0, xmmword [eax + edi*8 + 8]
movups xmm3, xmmword [esi + edi*8 + 8]
movups xmmword [edx + edi*8 + 8], xmm0
mov eax, ecx
imul eax, edi
add eax, dword [ebp - 0x32c]
mov edx, dword [ebp - 0x330]
movsd xmm2, qword [eax + ecx]
mov ecx, dword [ebp - 0xdc]
movsd xmm1, qword [eax]
mov eax, ecx
imul eax, edi
add edx, eax
mov eax, dword [ebp - 0x2e8]
movsd qword [edx], xmm1
movsd qword [ecx + edx], xmm2
mov ecx, dword [ebp - 0x340]
mov edx, dword [ebp - 0x30c]
movups xmmword [ecx + edi*8 + 8], xmm3
mov ecx, edx
imul ecx, edi
add eax, ecx
movsd qword [eax], xmm3
movhpd qword [edx + eax], xmm3
mov edx, dword [ebp - 0x31c]
mov eax, dword [ebp - 0x2f8]
movups xmm4, xmmword [edx + edi*8 + 8]
movups xmmword [eax + edi*8 + 8], xmm4
mov eax, dword [ebp - 0x310]
mov ecx, eax
imul ecx, edi
add edi, 2
mov edx, dword [ebp - 0x2e4]
add edx, ecx
movsd qword [edx], xmm4
movhpd qword [eax + edx], xmm4
cmp edi, dword [ebp - 0x304]
jb 0x4c9774
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x754]
cmp ecx, dword [ebp - 0x304]
jbe 0x4c9b57
mov edi, dword [ebp - 0xdc]
imul edi, dword [ebp - 0xc0]
mov esi, dword [ebp - 0x7a0]
mov dword [ebp - 0x7cc], edi
mov edi, dword [ebp - 0x778]
mov dword [ebp - 0x754], eax
lea edx, [esi*8]
mov dword [ebp - 0x7c8], edx
mov edx, dword [ebp - 0x7f4]
imul eax, edi
imul edx, edi
mov edi, dword [ebp - 0x310]
mov dword [ebp - 0x2dc], ecx
imul ecx, edi
mov esi, dword [ebp - 0x7f0]
neg ecx
imul esi, edi
add ecx, edx
mov edi, dword [ebp - 0x76c]
mov dword [ebp - 0x7f0], esi
mov dword [ebp - 0x7f4], edx
mov dword [ebp - 0x7c4], eax
lea edx, [edi*8]
mov dword [ebp - 0x7bc], edx
lea edi, [esi + edi*8]
mov esi, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x30c]
mov dword [ebp - 0x7c0], ecx
mov dword [ebp - 0x7b8], edi
add eax, esi
sub eax, ecx
sub eax, edi
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x2dc]
imul eax, edx
mov edi, dword [ebp - 0x754]
neg eax
mov ecx, dword [ebp - 0x788]
mov esi, dword [ebp - 0x764]
imul edi, ecx
imul esi, ecx
mov ecx, dword [ebp - 0x760]
add eax, esi
imul ecx, edx
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x764], esi
mov dword [ebp - 0x760], ecx
mov dword [ebp - 0x7b4], edi
lea esi, [edx*8]
mov dword [ebp - 0x7ac], esi
lea esi, [ecx + edx*8]
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0x7a8], esi
mov dword [ebp - 0x7b0], eax
add edi, ecx
mov ecx, dword [ebp - 0x2dc]
sub edi, eax
sub edi, esi
mov esi, dword [ebp - 0x798]
mov dword [ebp - 0x7f8], edi
mov eax, dword [ebp - 0x338]
mov edi, dword [ebp - 0x75c]
lea edx, [esi*8]
imul edi, eax
mov dword [ebp - 0x7a4], edx
mov edx, ecx
imul edx, eax
lea eax, [edi + esi*8]
mov esi, ecx
imul esi, dword [ebp - 0xdc]
add edx, dword [ebp - 0x774]
sub edx, eax
mov dword [ebp - 0x308], edx
mov edx, dword [ebp - 0x7a0]
mov eax, dword [ebp - 0x7cc]
mov dword [ebp - 0x75c], edi
mov edi, dword [ebp - 0x46c]
add esi, edi
lea edx, [eax + edx*8]
sub esi, edx
sub eax, dword [ebp - 0xdc]
mov dword [ebp - 0x344], esi
lea esi, [edi + ecx*8]
sub esi, eax
mov eax, dword [ebp - 0x774]
mov edi, dword [ebp - 0x75c]
sub edi, dword [ebp - 0x338]
sub esi, dword [ebp - 0x7c8]
lea edx, [eax + ecx*8]
sub edx, edi
mov edi, dword [ebp - 0x300]
mov dword [ebp - 0x348], esi
mov esi, dword [ebp - 0x7b4]
sub esi, dword [ebp - 0x764]
lea eax, [edi + ecx*8]
sub edx, dword [ebp - 0x7a4]
add eax, esi
mov esi, dword [ebp - 0x2f0]
mov dword [ebp - 0x34c], edx
mov edx, dword [ebp - 0x760]
sub edx, dword [ebp - 0x30c]
sub eax, edx
lea edx, [esi + ecx*8]
mov ecx, dword [ebp - 0x7c4]
sub ecx, dword [ebp - 0x7f4]
add edx, ecx
mov ecx, dword [ebp - 0x7f0]
sub ecx, dword [ebp - 0x310]
sub edx, ecx
sub edx, dword [ebp - 0x7bc]
mov ecx, dword [ebp - 0x754]
dec ecx
mov dword [ebp - 0x2d4], edx
mov edx, dword [ebp - 0x778]
imul edx, ecx
imul ecx, dword [ebp - 0x788]
add esi, edx
add edi, ecx
sub esi, dword [ebp - 0x7c0]
sub edi, dword [ebp - 0x7b0]
sub eax, dword [ebp - 0x7ac]
sub esi, dword [ebp - 0x7b8]
sub edi, dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x7f8]
mov ecx, dword [ebp - 0x304]
mov dword [ebp - 0x2f0], esi
mov dword [ebp - 0x300], edi
mov dword [ebp - 0x2d8], eax
mov esi, dword [ebp - 0x308]
mov edi, dword [ebp - 0x344]
mov eax, dword [ebp - 0xdc]
movsd xmm0, qword [esi + ecx*8 + 8]
movsd qword [edi + ecx*8 + 8], xmm0
mov edi, dword [ebp - 0x338]
imul edi, ecx
imul eax, ecx
mov esi, dword [ebp - 0x34c]
movsd xmm1, qword [esi + edi]
mov esi, dword [ebp - 0x348]
mov edi, dword [ebp - 0x2f0]
movsd qword [esi + eax], xmm1
mov eax, dword [ebp - 0x300]
mov esi, dword [ebp - 0x30c]
imul esi, ecx
movsd xmm2, qword [eax + ecx*8 + 8]
movsd qword [edx + ecx*8 + 8], xmm2
movsd xmm3, qword [edi + ecx*8 + 8]
mov eax, dword [ebp - 0x2d8]
movsd qword [eax + esi], xmm2
mov eax, dword [ebp - 0x350]
mov esi, dword [ebp - 0x2d4]
movsd qword [eax + ecx*8 + 8], xmm3
mov eax, dword [ebp - 0x310]
imul eax, ecx
inc ecx
movsd qword [esi + eax], xmm3
cmp ecx, dword [ebp - 0x2dc]
jb 0x4c9ab2
mov ecx, dword [ebp - 0x2dc]
inc ecx
cmp ecx, dword [ebp - 0x10]
jle 0x4c8927
jmp 0x4c9b89
inc ecx
cmp ecx, dword [ebp - 0x10]
jle 0x4c8927
jmp 0x4c9baf
mov dword [ebp - 0x2c8], ecx
jmp 0x4c4b37
mov dword [ebp - 0x314], 0
jmp 0x4c90b5
mov ecx, dword [ebp - 0x46c]
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0x7a0]
jmp 0x4c4211
mov dword [ebp - 0x304], 0
jmp 0x4c9839
mov eax, dword [0x6c81cc]
mov edx, dword [ebp - 0x7fc]
mov dword [ebp - 0xc0], eax
test edx, edx
jne 0x4c9b6f
lea edx, [0x6c81a0]
mov ecx, dword [edx]
mov eax, dword [edx + 0x28]
mov esi, dword [edx + 0x20]
jmp 0x4c4211
push 0x120
mov dword [ebp - 0x928], 0
lea eax, [ebp - 0xc28]
push eax
push 0x681564
push 0x8384ff00
push 0xffffffffffffffff
mov dword [eax], 0x25
lea edx, [ebp - 0x928]
push edx
mov dword [eax + 4], str._Abrupt_end_of_data_in_trafo_section
call fcn.005b4d50
add esp, 0x18
push 0x22
push 0x6813d0
push 0x6e3140
call fcn.00471080
add esp, 0xc
jmp 0x4c897e