Function at 0x58e170
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1d8
movups xmmword [rsp + 0x130], xmm6
movups xmmword [rsp + 0x140], xmm7
movups xmmword [rsp + 0x150], xmm8
movups xmmword [rsp + 0x160], xmm9
movups xmmword [rsp + 0x170], xmm10
movups xmmword [rsp + 0x180], xmm11
movups xmmword [rsp + 0x190], xmm12
movups xmmword [rsp + 0x1a0], xmm13
movups xmmword [rsp + 0x1b0], xmm14
movups xmmword [rsp + 0x1c0], xmm15
mov rbp, qword [rsp + 0x248]
mov r15, qword [rsp + 0x240]
mov eax, r8d
mov r13, rdx
mov edx, 0xaaaaaaab
mov dword [rsp + 0x230], r8d
add eax, 2
mov qword [rsp + 0x238], r9
mov r12, rcx
mov dword [rsp + 0xc4], 0
imul rax, rdx
shr rax, 0x21
lea edx, [rax + 1]
and edx, 0xfffffffe
cmp dword [rbp], 5
mov dword [rsp + 0xc0], edx
jne 0x58e247
and eax, 0xfffffffe
mov esi, edx
sub esi, eax
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0xc4], esi
mov eax, dword [r12]
mov edx, dword [rbp + 0x10]
mov rdi, qword [rbp + 0x18]
mov dword [r15], eax
mov ecx, dword [r12 + 0x14]
mov ebx, edx
shr ebx, 7
mov dword [r15 + 4], ecx
mov ecx, dword [r12 + 0x28]
mov dword [r15 + 8], ecx
mov ecx, dword [r12 + 0x3c]
mov dword [r15 + 0xc], ecx
mov ecx, dword [r12 + 0x10]
mov dword [r15 + 0x10], ecx
mov ecx, dword [r12 + 0x24]
mov dword [r15 + 0x14], ecx
mov ecx, dword [r12 + 0x38]
mov dword [r15 + 0x18], ecx
mov ecx, dword [r12 + 0xc]
mov dword [r15 + 0x1c], ecx
mov ecx, dword [r12 + 0x20]
mov dword [r15 + 0x20], ecx
mov ecx, dword [r12 + 0x34]
mov dword [r15 + 0x24], ecx
mov ecx, dword [r12 + 8]
mov dword [r15 + 0x28], ecx
mov ecx, dword [r12 + 0x1c]
mov dword [r15 + 0x2c], ecx
mov ecx, dword [r12 + 0x30]
mov dword [r15 + 0x30], ecx
mov ecx, dword [r12 + 4]
mov dword [r15 + 0x34], ecx
mov ecx, dword [r12 + 0x18]
mov dword [r15 + 0x38], ecx
mov ecx, dword [r12 + 0x2c]
mov dword [r15 + 0x3c], ecx
mov ecx, dword [r12 + 0x40]
mov dword [r15 + 0x40], ecx
mov ecx, dword [r12 + 0x54]
mov dword [r15 + 0x44], ecx
mov ecx, dword [r12 + 0x68]
mov dword [r15 + 0x48], ecx
mov ecx, dword [r12 + 0x7c]
mov dword [r15 + 0x4c], ecx
mov ecx, dword [r12 + 0x50]
mov dword [r15 + 0x50], ecx
mov ecx, dword [r12 + 0x64]
mov dword [r15 + 0x54], ecx
mov ecx, dword [r12 + 0x78]
mov dword [r15 + 0x58], ecx
mov ecx, dword [r12 + 0x4c]
mov dword [r15 + 0x5c], ecx
mov ecx, dword [r12 + 0x60]
mov dword [r15 + 0x60], ecx
mov ecx, dword [r12 + 0x74]
mov dword [r15 + 0x64], ecx
mov ecx, dword [r12 + 0x48]
mov dword [r15 + 0x68], ecx
mov ecx, dword [r12 + 0x5c]
mov dword [r15 + 0x6c], ecx
mov ecx, dword [r12 + 0x70]
mov dword [r15 + 0x70], ecx
mov ecx, dword [r12 + 0x44]
mov dword [r15 + 0x74], ecx
mov ecx, dword [r12 + 0x58]
mov dword [r15 + 0x78], ecx
mov ecx, dword [r12 + 0x6c]
mov dword [rsp + 0xb4], ebx
mov dword [r15 + 0x7c], ecx
je 0x58e8b7
sub ebx, 1
mov eax, 1
mov qword [rsp + 0x228], r13
mov r14, rdi
cmove eax, ebx
xor ebx, ebx
mov r13, r12
mov r12d, ebx
lea esi, [rax + 1]
mov dword [rsp + 0xb8], eax
lea rax, [r15 + 0x10]
mov qword [rsp + 0x40], rax
lea rax, [r15 + 0x80]
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0xf0]
mov dword [rsp + 0xd8], esi
mov rsi, rdi
mov qword [rsp + 0xd0], rax
jmp 0x58e405
mov rdx, rbp
mov rcx, r15
call fcn.0058df20
lea eax, [r12 + 1]
sub r14, 0xffffffffffffff80
cmp dword [rsp + 0xb8], r12d
je 0x58e6d8
mov r12d, eax
lea rax, [r14 + 0x10]
cmp r15, rax
jae 0x58e419
cmp qword [rsp + 0x40], r14
ja 0x58ff60
movdqu xmm6, xmmword [r15]
movups xmmword [r14], xmm6
movdqu xmm6, xmmword [r15 + 0x10]
movups xmmword [r14 + 0x10], xmm6
movdqu xmm6, xmmword [r15 + 0x20]
movups xmmword [r14 + 0x20], xmm6
movdqu xmm6, xmmword [r15 + 0x30]
movups xmmword [r14 + 0x30], xmm6
movdqu xmm6, xmmword [r15 + 0x40]
movups xmmword [r14 + 0x40], xmm6
movdqu xmm6, xmmword [r15 + 0x50]
movups xmmword [r14 + 0x50], xmm6
movdqu xmm6, xmmword [r15 + 0x60]
movups xmmword [r14 + 0x60], xmm6
movdqu xmm6, xmmword [r15 + 0x70]
movups xmmword [r14 + 0x70], xmm6
cmp rsi, qword [rbp + 0x18]
jne 0x58e3e0
mov eax, dword [r15 + 0x40]
mov edi, dword [rbp + 4]
mov rbx, r15
mov r9d, dword [r15 + 0x58]
mov edx, dword [r15 + 0x60]
mov r8d, dword [r15 + 0x68]
mov r11d, dword [r15 + 0x74]
mov dword [rsp + 0x50], eax
mov eax, dword [r15 + 0x44]
mov ecx, dword [r15 + 0x78]
mov r10d, dword [r15 + 0x7c]
mov dword [rsp + 0x60], eax
mov eax, dword [r15 + 0x48]
mov dword [rsp + 0x70], eax
mov eax, dword [r15 + 0x4c]
mov dword [rsp + 0x80], eax
mov eax, dword [r15 + 0x50]
mov dword [rsp + 0x9c], eax
mov eax, dword [r15 + 0x54]
mov dword [rsp + 0xa0], eax
mov eax, dword [r15 + 0x5c]
mov dword [rsp + 0xa4], eax
mov eax, dword [r15 + 0x64]
mov dword [rsp + 0xb0], eax
mov eax, dword [r15 + 0x6c]
mov dword [rsp + 0xa8], eax
mov eax, dword [r15 + 0x70]
movd xmm0, r9d
movd xmm1, edx
mov edx, edi
movd xmm6, dword [rsp + 0xa4]
movd xmm3, ecx
movd xmm4, dword [rsp + 0x70]
movdqu xmm7, xmmword [rbx]
add rbx, 0x40
punpckldq xmm0, xmm6
mov rcx, qword [rsp + 0xd0]
movd xmm6, dword [rsp + 0xa0]
movd xmm2, dword [rsp + 0x9c]
movd xmm5, dword [rsp + 0xa8]
punpckldq xmm2, xmm6
movdqu xmm6, xmmword [rbx - 0x30]
punpcklqdq xmm2, xmm0
movd xmm0, r8d
pxor xmm2, xmm6
punpckldq xmm0, xmm5
movdqu xmm5, xmmword [rbx - 0x20]
movd xmm6, dword [rsp + 0xb0]
movups xmmword [rsp + 0x100], xmm2
punpckldq xmm1, xmm6
movd xmm6, r10d
punpcklqdq xmm1, xmm0
movd xmm0, eax
punpckldq xmm3, xmm6
movdqu xmm6, xmmword [rbx - 0x10]
pxor xmm1, xmm5
movd xmm5, r11d
punpckldq xmm0, xmm5
movups xmmword [rsp + 0x110], xmm1
movd xmm5, dword [rsp + 0x80]
punpcklqdq xmm0, xmm3
movd xmm3, dword [rsp + 0x50]
pxor xmm0, xmm6
movd xmm6, dword [rsp + 0x60]
punpckldq xmm4, xmm5
movups xmmword [rsp + 0x120], xmm0
punpckldq xmm3, xmm6
punpcklqdq xmm3, xmm4
pxor xmm3, xmm7
movups xmmword [rsp + 0xf0], xmm3
call fcn.0058c150
mov eax, dword [rsp + 0xf0]
movdqu xmm5, xmmword [rsp + 0xf0]
movdqu xmm6, xmmword [rsp + 0x100]
mov r9d, dword [rsp + 0x108]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0xf4]
movups xmmword [rbx - 0x40], xmm5
mov edx, dword [rsp + 0x110]
movdqu xmm7, xmmword [rsp + 0x110]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0xf8]
movdqu xmm5, xmmword [rsp + 0x120]
movups xmmword [rbx - 0x30], xmm6
mov r8d, dword [rsp + 0x118]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0xfc]
movups xmmword [rbx - 0x20], xmm7
mov r11d, dword [rsp + 0x124]
mov ecx, dword [rsp + 0x128]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x100]
mov r10d, dword [rsp + 0x12c]
mov dword [rsp + 0x9c], eax
mov eax, dword [rsp + 0x104]
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x10c]
mov dword [rsp + 0xa4], eax
mov eax, dword [rsp + 0x114]
mov dword [rsp + 0xb0], eax
mov eax, dword [rsp + 0x11c]
mov dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0x120]
movups xmmword [rbx - 0x10], xmm5
cmp qword [rsp + 0xc8], rbx
jne 0x58e4f5
jmp 0x58e3eb
mov eax, dword [rsp + 0xd8]
mov rdi, rsi
mov r12, r13
mov r13, qword [rsp + 0x228]
mov rsi, rax
shl rax, 7
lea r14, [rdi + rax]
lea rax, [r15 + 0x80]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0xb8], rax
cmp dword [rsp + 0xb4], esi
jbe 0x58e8b4
mov qword [rsp + 0x220], r12
mov eax, esi
mov rsi, rdi
mov qword [rsp + 0x228], r13
mov edi, eax
nop dword [rax + rax]
lea rax, [r14 + 0x10]
cmp r15, rax
jae 0x58e754
cmp qword [rsp + 0x40], r14
ja 0x5901d8
movdqu xmm6, xmmword [r15]
movups xmmword [r14], xmm6
movdqu xmm7, xmmword [r15 + 0x10]
movups xmmword [r14 + 0x10], xmm7
movdqu xmm5, xmmword [r15 + 0x20]
movups xmmword [r14 + 0x20], xmm5
movdqu xmm6, xmmword [r15 + 0x30]
movups xmmword [r14 + 0x30], xmm6
movdqu xmm7, xmmword [r15 + 0x40]
movups xmmword [r14 + 0x40], xmm7
movdqu xmm5, xmmword [r15 + 0x50]
movups xmmword [r14 + 0x50], xmm5
movdqu xmm6, xmmword [r15 + 0x60]
movups xmmword [r14 + 0x60], xmm6
movdqu xmm7, xmmword [r15 + 0x70]
movups xmmword [r14 + 0x70], xmm7
mov eax, dword [r15 + 0x40]
mov edx, edi
lea r8d, [rdx - 1]
mov ecx, edx
and edx, r8d
jne 0x58e7b0
and eax, r8d
sub eax, ecx
add eax, edi
shl rax, 7
lea rdx, [rsi + rax]
lea rax, [rsi + rax + 0x10]
cmp r15, rax
jae 0x58e7df
cmp qword [rsp + 0x40], rdx
ja 0x590200
movdqu xmm0, xmmword [rdx]
movdqu xmm5, xmmword [r15]
movdqu xmm6, xmmword [r15 + 0x10]
movdqu xmm7, xmmword [r15 + 0x20]
pxor xmm0, xmm5
movdqu xmm2, xmmword [r15 + 0x30]
movdqu xmm4, xmmword [r15 + 0x40]
movups xmmword [r15], xmm0
movdqu xmm0, xmmword [rax]
movdqu xmm5, xmmword [r15 + 0x50]
pxor xmm0, xmm6
movdqu xmm6, xmmword [r15 + 0x60]
movups xmmword [r15 + 0x10], xmm0
movdqu xmm0, xmmword [rax + 0x10]
pxor xmm0, xmm7
movdqu xmm7, xmmword [r15 + 0x70]
movups xmmword [r15 + 0x20], xmm0
movdqu xmm0, xmmword [rax + 0x20]
pxor xmm0, xmm2
movups xmmword [r15 + 0x30], xmm0
movdqu xmm0, xmmword [rax + 0x30]
pxor xmm0, xmm4
movups xmmword [r15 + 0x40], xmm0
movdqu xmm0, xmmword [rax + 0x40]
pxor xmm0, xmm5
movups xmmword [r15 + 0x50], xmm0
movdqu xmm0, xmmword [rax + 0x50]
pxor xmm0, xmm6
movups xmmword [r15 + 0x60], xmm0
movdqu xmm0, xmmword [rax + 0x60]
pxor xmm0, xmm7
movups xmmword [r15 + 0x70], xmm0
cmp rsi, qword [rbp + 0x18]
je 0x58ff88
mov rdx, rbp
mov rcx, r15
call fcn.0058df20
add edi, 1
sub r14, 0xffffffffffffff80
cmp dword [rsp + 0xb4], edi
jne 0x58e740
mov r12, qword [rsp + 0x220]
mov r13, qword [rsp + 0x228]
mov eax, dword [r15]
mov dword [r12], eax
mov eax, dword [r15 + 4]
mov rbx, r13
lea r14, [r13 + r13]
shl rbx, 5
mov dword [r12 + 0x14], eax
mov eax, dword [r15 + 8]
mov dword [r12 + 0x28], eax
mov eax, dword [r15 + 0xc]
mov dword [r12 + 0x3c], eax
mov eax, dword [r15 + 0x10]
mov dword [r12 + 0x10], eax
mov eax, dword [r15 + 0x14]
mov dword [r12 + 0x24], eax
mov eax, dword [r15 + 0x18]
mov dword [r12 + 0x38], eax
mov eax, dword [r15 + 0x1c]
mov dword [r12 + 0xc], eax
mov eax, dword [r15 + 0x20]
mov dword [r12 + 0x20], eax
mov eax, dword [r15 + 0x24]
mov dword [r12 + 0x34], eax
mov eax, dword [r15 + 0x28]
mov dword [r12 + 8], eax
mov eax, dword [r15 + 0x2c]
mov dword [r12 + 0x1c], eax
mov eax, dword [r15 + 0x30]
mov dword [r12 + 0x30], eax
mov eax, dword [r15 + 0x34]
mov dword [r12 + 4], eax
mov eax, dword [r15 + 0x38]
mov dword [r12 + 0x18], eax
mov eax, dword [r15 + 0x3c]
mov dword [r12 + 0x2c], eax
mov eax, dword [r15 + 0x40]
mov dword [r12 + 0x40], eax
mov eax, dword [r15 + 0x44]
mov dword [r12 + 0x54], eax
mov eax, dword [r15 + 0x48]
mov dword [r12 + 0x68], eax
mov eax, dword [r15 + 0x4c]
mov dword [r12 + 0x7c], eax
mov eax, dword [r15 + 0x50]
mov dword [r12 + 0x50], eax
mov eax, dword [r15 + 0x54]
mov dword [r12 + 0x64], eax
mov eax, dword [r15 + 0x58]
mov dword [r12 + 0x78], eax
mov eax, dword [r15 + 0x5c]
mov dword [r12 + 0x4c], eax
mov eax, dword [r15 + 0x60]
mov dword [r12 + 0x60], eax
mov eax, dword [r15 + 0x64]
mov dword [r12 + 0x74], eax
mov eax, dword [r15 + 0x68]
mov dword [r12 + 0x48], eax
mov eax, dword [r15 + 0x6c]
mov dword [r12 + 0x5c], eax
mov eax, dword [r15 + 0x70]
mov dword [r12 + 0x70], eax
mov eax, dword [r15 + 0x74]
mov dword [r12 + 0x44], eax
mov eax, dword [r15 + 0x78]
mov dword [r12 + 0x58], eax
mov eax, dword [r15 + 0x7c]
mov dword [r12 + 0x6c], eax
lea rax, [r12 + 0xff]
sub rax, r15
mov qword [rsp + 0xc8], rax
cmp rax, 0x1fe
jbe 0x590220
mov rcx, r14
mov rax, r15
mov rdx, r12
shr rcx, 2
shl rcx, 8
add rcx, r15
nop dword [rax]
movdqu xmm0, xmmword [rdx]
movdqu xmm6, xmmword [rdx + 0x20]
add rax, 0x100
add rdx, 0x100
movdqu xmm9, xmmword [rdx - 0xf0]
movdqu xmm1, xmmword [rdx - 0x80]
movdqu xmm15, xmm0
movdqu xmm14, xmm6
movdqu xmm4, xmmword [rdx - 0x60]
movdqu xmm3, xmmword [rdx - 0xc0]
shufps xmm15, xmm9, 0x88
shufps xmm0, xmm9, 0xdd
movdqu xmm9, xmmword [rdx - 0xd0]
movdqu xmm5, xmmword [rdx - 0xa0]
movdqu xmm10, xmmword [rdx - 0x70]
movdqu xmm13, xmm3
movdqu xmm2, xmmword [rdx - 0x40]
movdqu xmm11, xmm1
shufps xmm14, xmm9, 0x88
shufps xmm6, xmm9, 0xdd
movdqu xmm12, xmm5
movdqu xmm9, xmmword [rdx - 0xb0]
movdqu xmm7, xmmword [rdx - 0x20]
shufps xmm11, xmm10, 0x88
shufps xmm1, xmm10, 0xdd
movdqu xmm8, xmmword [rdx - 0x90]
shufps xmm13, xmm9, 0x88
shufps xmm3, xmm9, 0xdd
movdqu xmm9, xmmword [rdx - 0x50]
movdqu xmm10, xmm4
shufps xmm12, xmm8, 0x88
shufps xmm5, xmm8, 0xdd
movdqu xmm8, xmmword [rdx - 0x30]
shufps xmm10, xmm9, 0x88
shufps xmm4, xmm9, 0xdd
movdqu xmm9, xmm2
shufps xmm2, xmm8, 0xdd
movups xmmword [rsp + 0x40], xmm2
movdqu xmm2, xmmword [rdx - 0x10]
shufps xmm9, xmm8, 0x88
movdqu xmm8, xmm7
shufps xmm8, xmm2, 0x88
shufps xmm7, xmm2, 0xdd
movdqu xmm2, xmm7
movdqu xmm7, xmm15
shufps xmm7, xmm14, 0x88
shufps xmm15, xmm14, 0xdd
movdqu xmm14, xmm13
shufps xmm13, xmm12, 0xdd
shufps xmm14, xmm12, 0x88
movdqu xmm12, xmm11
movups xmmword [rsp + 0x50], xmm13
shufps xmm11, xmm10, 0xdd
shufps xmm12, xmm10, 0x88
movdqu xmm13, xmm11
movdqu xmm10, xmm9
movdqu xmm11, xmm3
shufps xmm9, xmm8, 0xdd
movups xmmword [rsp + 0x60], xmm9
shufps xmm11, xmm5, 0x88
movdqu xmm9, xmmword [rsp + 0x40]
shufps xmm3, xmm5, 0xdd
movdqu xmm5, xmm1
shufps xmm10, xmm8, 0x88
shufps xmm1, xmm4, 0xdd
shufps xmm5, xmm4, 0x88
movdqu xmm8, xmm0
movdqu xmm4, xmm9
shufps xmm0, xmm6, 0xdd
shufps xmm4, xmm2, 0x88
shufps xmm8, xmm6, 0x88
movdqu xmm6, xmm2
movdqu xmm2, xmm9
shufps xmm2, xmm6, 0xdd
movdqu xmm6, xmm7
shufps xmm7, xmm14, 0xdd
movdqu xmm9, xmm8
shufps xmm6, xmm14, 0x88
movdqu xmm14, xmm12
shufps xmm12, xmm10, 0xdd
shufps xmm9, xmm11, 0x88
shufps xmm14, xmm10, 0x88
movdqu xmm10, xmm5
shufps xmm5, xmm4, 0xdd
movups xmmword [rsp + 0x80], xmm5
shufps xmm10, xmm4, 0x88
movdqu xmm4, xmmword [rsp + 0x50]
movdqu xmm5, xmm15
movups xmmword [rsp + 0x70], xmm12
shufps xmm8, xmm11, 0xdd
movdqu xmm12, xmm13
movdqu xmm11, xmm13
movups xmmword [rsp + 0x40], xmm14
shufps xmm5, xmm4, 0x88
shufps xmm15, xmm4, 0xdd
movdqu xmm4, xmmword [rsp + 0x60]
movdqu xmm14, xmm8
movdqu xmm13, xmmword [rsp + 0x80]
movdqu xmm8, xmm0
shufps xmm12, xmm4, 0x88
shufps xmm11, xmm4, 0xdd
movdqu xmm4, xmm0
shufps xmm8, xmm3, 0x88
shufps xmm4, xmm3, 0xdd
movdqu xmm3, xmm1
shufps xmm1, xmm2, 0xdd
movdqu xmm0, xmm6
shufps xmm3, xmm2, 0x88
movdqu xmm2, xmmword [rsp + 0x40]
shufps xmm6, xmm2, 0xdd
shufps xmm0, xmm2, 0x88
movdqu xmm2, xmm9
shufps xmm9, xmm10, 0xdd
shufps xmm2, xmm10, 0x88
movdqu xmm10, xmm5
shufps xmm5, xmm12, 0xdd
movups xmmword [rsp + 0x50], xmm2
shufps xmm10, xmm12, 0x88
movdqu xmm12, xmm8
shufps xmm8, xmm3, 0xdd
movdqu xmm2, xmm5
shufps xmm12, xmm3, 0x88
movdqu xmm3, xmmword [rsp + 0x70]
movdqu xmm5, xmm7
movups xmmword [rsp + 0x60], xmm8
movdqu xmm8, xmm14
shufps xmm14, xmm13, 0xdd
movups xmmword [rsp + 0x40], xmm10
shufps xmm7, xmm3, 0xdd
shufps xmm5, xmm3, 0x88
movdqu xmm3, xmm14
movdqu xmm14, xmm4
shufps xmm14, xmm1, 0x88
shufps xmm4, xmm1, 0xdd
movdqu xmm1, xmm0
shufps xmm8, xmm13, 0x88
punpckldq xmm1, xmm6
punpckhdq xmm0, xmm6
movdqu xmm13, xmm15
shufps xmm15, xmm11, 0xdd
movdqu xmm6, xmm8
movdqu xmm10, xmm14
punpckhdq xmm8, xmm3
shufps xmm13, xmm11, 0x88
punpckldq xmm6, xmm3
movups xmmword [rsp + 0x70], xmm13
movdqu xmm14, xmm2
movdqu xmm3, xmmword [rsp + 0x40]
movdqu xmm13, xmm2
movdqu xmm2, xmm5
movdqu xmm11, xmm4
punpckldq xmm2, xmm7
punpckhdq xmm5, xmm7
movdqu xmm7, xmmword [rsp + 0x50]
punpckldq xmm13, xmm3
punpckhdq xmm14, xmm3
punpckldq xmm11, xmm10
punpckhdq xmm4, xmm10
movdqu xmm3, xmmword [rsp + 0x70]
movdqu xmm10, xmm9
punpckhdq xmm9, xmm7
movups xmmword [rsp + 0x40], xmm4
movdqu xmm4, xmm12
punpckldq xmm10, xmm7
movdqu xmm7, xmm15
punpckhdq xmm15, xmm3
punpckldq xmm7, xmm3
movdqu xmm3, xmmword [rsp + 0x60]
punpckldq xmm4, xmm3
punpckhdq xmm12, xmm3
movdqu xmm3, xmm1
punpckldq xmm3, xmm2
punpckhdq xmm1, xmm2
movdqu xmm2, xmm0
movups xmmword [rsp + 0x50], xmm4
punpckldq xmm2, xmm5
movdqu xmm4, xmm12
punpckhdq xmm0, xmm5
movdqu xmm12, xmm6
movdqu xmm5, xmm8
punpckhdq xmm6, xmm10
punpckldq xmm12, xmm10
punpckldq xmm5, xmm9
punpckhdq xmm8, xmm9
movdqu xmm10, xmm13
movdqu xmm9, xmm13
movdqu xmm13, xmm14
movups xmmword [rsp + 0x60], xmm8
punpckldq xmm10, xmm7
punpckhdq xmm9, xmm7
movdqu xmm7, xmm14
movdqu xmm14, xmmword [rsp + 0x40]
punpckhdq xmm13, xmm15
punpckldq xmm7, xmm15
movdqu xmm15, xmmword [rsp + 0x50]
movdqu xmm8, xmm7
movdqu xmm7, xmm11
punpckhdq xmm11, xmm15
punpckldq xmm7, xmm15
movdqu xmm15, xmm11
movdqu xmm11, xmm14
punpckhdq xmm14, xmm4
punpckldq xmm11, xmm4
movdqu xmm4, xmm14
movdqu xmm14, xmm3
punpckldq xmm14, xmm10
punpckhdq xmm3, xmm10
movdqu xmm10, xmm1
punpckldq xmm10, xmm9
punpckhdq xmm1, xmm9
movdqu xmm9, xmm2
movups xmmword [rsp + 0x40], xmm14
punpckldq xmm9, xmm8
punpckhdq xmm2, xmm8
movdqu xmm8, xmm0
punpckldq xmm8, xmm13
punpckhdq xmm0, xmm13
movdqu xmm13, xmm6
punpckldq xmm13, xmm15
punpckhdq xmm6, xmm15
movdqu xmm14, xmm12
movdqu xmm15, xmmword [rsp + 0x60]
punpckhdq xmm12, xmm7
punpckldq xmm14, xmm7
movdqu xmm7, xmm12
movdqu xmm12, xmm5
punpckhdq xmm5, xmm11
punpckldq xmm12, xmm11
movdqu xmm11, xmm15
punpckhdq xmm15, xmm4
punpckldq xmm11, xmm4
movdqu xmm4, xmm15
movdqu xmm15, xmmword [rsp + 0x40]
punpckldq xmm15, xmm14
movups xmmword [rax - 0x100], xmm15
movdqu xmm15, xmmword [rsp + 0x40]
punpckhdq xmm15, xmm14
movdqu xmm14, xmm3
punpckhdq xmm3, xmm7
movups xmmword [rax - 0xd0], xmm3
movdqu xmm3, xmm10
punpckldq xmm14, xmm7
punpckhdq xmm10, xmm13
punpckldq xmm3, xmm13
movups xmmword [rax - 0xf0], xmm15
movups xmmword [rax - 0xc0], xmm3
movdqu xmm3, xmm1
punpckhdq xmm1, xmm6
movups xmmword [rax - 0x90], xmm1
movdqu xmm1, xmm9
punpckldq xmm3, xmm6
punpckhdq xmm9, xmm12
punpckldq xmm1, xmm12
movups xmmword [rax - 0xe0], xmm14
movups xmmword [rax - 0x80], xmm1
movdqu xmm1, xmm2
punpckhdq xmm2, xmm5
punpckldq xmm1, xmm5
movups xmmword [rax - 0xb0], xmm10
movups xmmword [rax - 0x60], xmm1
movdqu xmm1, xmm8
punpckhdq xmm8, xmm11
punpckldq xmm1, xmm11
movups xmmword [rax - 0xa0], xmm3
movups xmmword [rax - 0x40], xmm1
movdqu xmm1, xmm0
punpckhdq xmm0, xmm4
punpckldq xmm1, xmm4
movups xmmword [rax - 0x70], xmm9
movups xmmword [rax - 0x50], xmm2
movups xmmword [rax - 0x30], xmm8
movups xmmword [rax - 0x20], xmm1
movups xmmword [rax - 0x10], xmm0
cmp rcx, rax
jne 0x58ea18
mov rdx, r14
and rdx, 0xfffffffffffffffc
test r14b, 3
je 0x58f1d8
mov rax, rdx
shl rax, 6
mov ecx, dword [r12 + rax]
mov dword [r15 + rax], ecx
mov rcx, rdx
shl rcx, 4
add rcx, 5
mov r8d, dword [r12 + rcx*4]
lea rax, [rcx*4]
mov dword [r15 + rax - 0x10], r8d
mov r8d, dword [r12 + rax + 0x14]
mov dword [r15 + rax - 0xc], r8d
mov r8d, dword [r12 + rax + 0x28]
mov dword [r15 + rax - 8], r8d
mov r8d, dword [r12 + rax - 4]
mov dword [r15 + rax - 4], r8d
mov r8d, dword [r12 + rax + 0x10]
mov dword [r15 + rcx*4], r8d
mov ecx, dword [r12 + rax + 0x24]
mov dword [r15 + rax + 4], ecx
mov ecx, dword [r12 + rax - 8]
mov dword [r15 + rax + 8], ecx
mov ecx, dword [r12 + rax + 0xc]
mov dword [r15 + rax + 0xc], ecx
mov ecx, dword [r12 + rax + 0x20]
mov dword [r15 + rax + 0x10], ecx
mov ecx, dword [r12 + rax - 0xc]
mov dword [r15 + rax + 0x14], ecx
mov ecx, dword [r12 + rax + 8]
mov dword [r15 + rax + 0x18], ecx
mov ecx, dword [r12 + rax + 0x1c]
mov dword [r15 + rax + 0x1c], ecx
mov ecx, dword [r12 + rax - 0x10]
mov dword [r15 + rax + 0x20], ecx
mov ecx, dword [r12 + rax + 4]
mov dword [r15 + rax + 0x24], ecx
mov ecx, dword [r12 + rax + 0x18]
mov dword [r15 + rax + 0x28], ecx
lea rax, [rdx + 1]
cmp rax, r14
jae 0x58f1d8
mov rcx, rax
shl rax, 4
add rdx, 2
shl rcx, 6
mov r8d, dword [r12 + rcx]
mov dword [r15 + rcx], r8d
lea rcx, [rax + 5]
mov r8d, dword [r12 + rcx*4]
lea rax, [rcx*4]
mov dword [r15 + rax - 0x10], r8d
mov r8d, dword [r12 + rax + 0x14]
mov dword [r15 + rax - 0xc], r8d
mov r8d, dword [r12 + rax + 0x28]
mov dword [r15 + rax - 8], r8d
mov r8d, dword [r12 + rax - 4]
mov dword [r15 + rax - 4], r8d
mov r8d, dword [r12 + rax + 0x10]
mov dword [r15 + rcx*4], r8d
mov ecx, dword [r12 + rax + 0x24]
mov dword [r15 + rax + 4], ecx
mov ecx, dword [r12 + rax - 8]
mov dword [r15 + rax + 8], ecx
mov ecx, dword [r12 + rax + 0xc]
mov dword [r15 + rax + 0xc], ecx
mov ecx, dword [r12 + rax + 0x20]
mov dword [r15 + rax + 0x10], ecx
mov ecx, dword [r12 + rax - 0xc]
mov dword [r15 + rax + 0x14], ecx
mov ecx, dword [r12 + rax + 8]
mov dword [r15 + rax + 0x18], ecx
mov ecx, dword [r12 + rax + 0x1c]
mov dword [r15 + rax + 0x1c], ecx
mov ecx, dword [r12 + rax - 0x10]
mov dword [r15 + rax + 0x20], ecx
mov ecx, dword [r12 + rax + 4]
mov dword [r15 + rax + 0x24], ecx
mov ecx, dword [r12 + rax + 0x18]
mov dword [r15 + rax + 0x28], ecx
cmp rdx, r14
jae 0x58f1d8
mov rax, rdx
shl rdx, 4
shl rax, 6
add rdx, 5
mov ecx, dword [r12 + rax]
mov dword [r15 + rax], ecx
mov ecx, dword [r12 + rdx*4]
lea rax, [rdx*4]
mov dword [r15 + rax - 0x10], ecx
mov ecx, dword [r12 + rax + 0x14]
mov dword [r15 + rax - 0xc], ecx
mov ecx, dword [r12 + rax + 0x28]
mov dword [r15 + rax - 8], ecx
mov ecx, dword [r12 + rax - 4]
mov dword [r15 + rax - 4], ecx
mov ecx, dword [r12 + rax + 0x10]
mov dword [r15 + rdx*4], ecx
mov edx, dword [r12 + rax + 0x24]
mov dword [r15 + rax + 4], edx
mov edx, dword [r12 + rax - 8]
mov dword [r15 + rax + 8], edx
mov edx, dword [r12 + rax + 0xc]
mov dword [r15 + rax + 0xc], edx
mov edx, dword [r12 + rax + 0x20]
mov dword [r15 + rax + 0x10], edx
mov edx, dword [r12 + rax - 0xc]
mov dword [r15 + rax + 0x14], edx
mov edx, dword [r12 + rax + 8]
mov dword [r15 + rax + 0x18], edx
mov edx, dword [r12 + rax + 0x1c]
mov dword [r15 + rax + 0x1c], edx
mov edx, dword [r12 + rax - 0x10]
mov dword [r15 + rax + 0x20], edx
mov edx, dword [r12 + rax + 4]
mov dword [r15 + rax + 0x24], edx
mov edx, dword [r12 + rax + 0x18]
mov dword [r15 + rax + 0x28], edx
cmp dword [rbp], 5
je 0x58f258
mov rsi, r13
lea rdi, [r15 + 0x80]
shl rsi, 7
add rsi, r15
nop
movdqu xmm4, xmmword [rdi - 0x80]
movdqu xmm5, xmmword [rdi - 0x70]
mov rcx, rdi
mov rdx, rbp
movdqu xmm6, xmmword [rdi - 0x60]
movdqu xmm7, xmmword [rdi - 0x50]
sub rdi, 0xffffffffffffff80
movups xmmword [rdi - 0x80], xmm4
movdqu xmm2, xmmword [rdi - 0x90]
movdqu xmm4, xmmword [rdi - 0xc0]
movups xmmword [rdi - 0x70], xmm5
movdqu xmm5, xmmword [rdi - 0xb0]
movups xmmword [rdi - 0x60], xmm6
movdqu xmm6, xmmword [rdi - 0xa0]
movups xmmword [rdi - 0x50], xmm7
movups xmmword [rdi - 0x40], xmm4
movups xmmword [rdi - 0x30], xmm5
movups xmmword [rdi - 0x20], xmm6
movups xmmword [rdi - 0x10], xmm2
call fcn.0058df20
cmp rsi, rdi
jne 0x58f1f0
mov eax, dword [rsp + 0x230]
test eax, eax
je 0x58f3d5
mov rax, r13
mov r9, qword [rsp + 0x238]
xor esi, esi
mov qword [rsp + 0xe8], r14
shl rax, 7
mov edi, esi
mov r14, r13
mov r13, r12
mov qword [rsp + 0x50], rax
lea rax, [r15 + rax - 0x40]
mov rsi, r9
mov qword [rsp + 0xd0], rax
lea rax, [rbx*4]
mov qword [rsp + 0xb8], rax
lea rax, [r15 + 0x10]
mov qword [rsp + 0x40], rax
lea rax, [r15 + 0x80]
mov qword [rsp + 0xd8], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0xe0], rax
nop dword [rax]
lea rax, [rsi + 0x10]
cmp r15, rax
mov eax, 0
jae 0x58f2f8
cmp qword [rsp + 0x40], rsi
ja 0x58fca8
nop dword [rax]
movdqu xmm7, xmmword [r15 + rax]
movups xmmword [rsi + rax], xmm7
add rax, 0x10
cmp qword [rsp + 0xb8], rax
jne 0x58f2f8
cmp edi, 1
jbe 0x58f392
mov rax, qword [rsp + 0xd0]
mov edx, edi
mov eax, dword [rax]
nop dword [rax]
lea ecx, [rdx - 1]
mov r8d, edx
and edx, ecx
jne 0x58f328
and eax, ecx
mov rbx, qword [rsp + 0x238]
sub eax, r8d
lea edx, [rax + rdi]
mov rax, qword [rsp + 0x238]
imul rdx, r14
shl rdx, 7
add rax, rdx
lea rdx, [rbx + rdx + 0x10]
cmp r15, rdx
jae 0x58f36a
cmp rax, qword [rsp + 0x40]
jb 0x58fcc0
xor edx, edx
nop dword [rax]
movdqu xmm0, xmmword [rax + rdx]
movdqu xmm4, xmmword [r15 + rdx]
pxor xmm0, xmm4
movups xmmword [r15 + rdx], xmm0
add rdx, 0x10
cmp rdx, qword [rsp + 0xb8]
jne 0x58f370
mov rax, qword [rbp + 0x18]
cmp qword [rsp + 0x238], rax
je 0x58fcf8
mov r8, r14
mov rdx, rbp
mov rcx, r15
call fcn.0058c870
add edi, 1
add rsi, qword [rsp + 0x50]
cmp dword [rsp + 0x230], edi
jne 0x58f2d8
mov r12, r13
mov r13, r14
mov r14, qword [rsp + 0xe8]
cmp qword [rsp + 0xc8], 0x1fe
jbe 0x5902a8
mov rcx, r14
mov rax, r12
mov rdx, r15
shr rcx, 2
shl rcx, 8
add rcx, r12
nop dword [rax + rax]
movdqu xmm0, xmmword [rdx]
movdqu xmm4, xmmword [rdx + 0x10]
add rax, 0x100
add rdx, 0x100
movdqu xmm7, xmmword [rdx - 0xe0]
movdqu xmm3, xmmword [rdx - 0xc0]
movdqu xmm15, xmm0
shufps xmm0, xmm4, 0xdd
movdqu xmm1, xmmword [rdx - 0x80]
movdqu xmm6, xmmword [rdx - 0xa0]
shufps xmm15, xmm4, 0x88
movdqu xmm14, xmm7
movdqu xmm13, xmm3
movdqu xmm4, xmmword [rdx - 0xd0]
movdqu xmm12, xmm6
movdqu xmm5, xmmword [rdx - 0x60]
movdqu xmm11, xmm1
movdqu xmm2, xmmword [rdx - 0x40]
shufps xmm14, xmm4, 0x88
shufps xmm7, xmm4, 0xdd
movdqu xmm8, xmmword [rdx - 0x20]
movdqu xmm4, xmmword [rdx - 0xb0]
movdqu xmm10, xmm5
movdqu xmm9, xmm2
shufps xmm13, xmm4, 0x88
shufps xmm3, xmm4, 0xdd
movdqu xmm4, xmmword [rdx - 0x90]
shufps xmm12, xmm4, 0x88
shufps xmm6, xmm4, 0xdd
movdqu xmm4, xmmword [rdx - 0x70]
shufps xmm11, xmm4, 0x88
shufps xmm1, xmm4, 0xdd
movdqu xmm4, xmmword [rdx - 0x50]
shufps xmm10, xmm4, 0x88
shufps xmm5, xmm4, 0xdd
movdqu xmm4, xmmword [rdx - 0x30]
shufps xmm2, xmm4, 0xdd
movups xmmword [rsp + 0x40], xmm2
movdqu xmm2, xmmword [rdx - 0x10]
shufps xmm9, xmm4, 0x88
movdqu xmm4, xmm8
shufps xmm4, xmm2, 0x88
shufps xmm8, xmm2, 0xdd
movdqu xmm2, xmm8
movdqu xmm8, xmm15
shufps xmm8, xmm14, 0x88
shufps xmm15, xmm14, 0xdd
movdqu xmm14, xmm13
shufps xmm13, xmm12, 0xdd
shufps xmm14, xmm12, 0x88
movdqu xmm12, xmm11
shufps xmm11, xmm10, 0xdd
shufps xmm12, xmm10, 0x88
movdqu xmm10, xmm9
shufps xmm9, xmm4, 0xdd
movups xmmword [rsp + 0x50], xmm9
shufps xmm10, xmm4, 0x88
movdqu xmm4, xmm0
movdqu xmm9, xmmword [rsp + 0x40]
shufps xmm0, xmm7, 0xdd
shufps xmm4, xmm7, 0x88
movdqu xmm7, xmm3
shufps xmm3, xmm6, 0xdd
shufps xmm7, xmm6, 0x88
movdqu xmm6, xmm1
shufps xmm9, xmm2, 0x88
shufps xmm1, xmm5, 0xdd
shufps xmm6, xmm5, 0x88
movdqu xmm5, xmm2
movdqu xmm2, xmmword [rsp + 0x40]
shufps xmm2, xmm5, 0xdd
movdqu xmm5, xmm8
shufps xmm8, xmm14, 0xdd
movups xmmword [rsp + 0x60], xmm8
shufps xmm5, xmm14, 0x88
movdqu xmm8, xmm12
movdqu xmm14, xmm4
shufps xmm12, xmm10, 0xdd
movups xmmword [rsp + 0x40], xmm12
movdqu xmm12, xmm4
movdqu xmm4, xmm15
shufps xmm14, xmm7, 0xdd
shufps xmm12, xmm7, 0x88
shufps xmm4, xmm13, 0x88
shufps xmm15, xmm13, 0xdd
movdqu xmm7, xmm6
shufps xmm7, xmm9, 0x88
shufps xmm6, xmm9, 0xdd
movdqu xmm9, xmm11
movdqu xmm13, xmmword [rsp + 0x50]
shufps xmm8, xmm10, 0x88
shufps xmm11, xmm13, 0xdd
shufps xmm9, xmm13, 0x88
movdqu xmm13, xmm0
shufps xmm0, xmm3, 0xdd
shufps xmm13, xmm3, 0x88
movdqu xmm3, xmm0
movdqu xmm0, xmm1
movups xmmword [rsp + 0x50], xmm9
movdqu xmm10, xmm13
shufps xmm1, xmm2, 0xdd
shufps xmm0, xmm2, 0x88
movdqu xmm13, xmm5
movdqu xmm9, xmm0
movdqu xmm2, xmm12
movdqu xmm0, xmm5
shufps xmm13, xmm8, 0xdd
movdqu xmm5, xmmword [rsp + 0x50]
shufps xmm0, xmm8, 0x88
shufps xmm2, xmm7, 0x88
movdqu xmm8, xmm2
movdqu xmm2, xmm12
movdqu xmm12, xmm10
shufps xmm2, xmm7, 0xdd
movdqu xmm7, xmm4
shufps xmm12, xmm9, 0xdd
movups xmmword [rsp + 0x80], xmm2
movdqu xmm2, xmm4
shufps xmm7, xmm5, 0xdd
movdqu xmm4, xmmword [rsp + 0x60]
shufps xmm2, xmm5, 0x88
movdqu xmm5, xmm10
movdqu xmm10, xmmword [rsp + 0x40]
shufps xmm5, xmm9, 0x88
movdqu xmm9, xmm14
shufps xmm14, xmm6, 0xdd
movups xmmword [rsp + 0x70], xmm5
shufps xmm9, xmm6, 0x88
movdqu xmm6, xmm15
movdqu xmm5, xmm4
shufps xmm15, xmm11, 0xdd
shufps xmm6, xmm11, 0x88
movups xmmword [rsp + 0x50], xmm6
movdqu xmm6, xmm14
shufps xmm5, xmm10, 0x88
punpckldq xmm6, xmm9
shufps xmm4, xmm10, 0xdd
movdqu xmm11, xmm7
movups xmmword [rsp + 0x60], xmm4
movdqu xmm10, xmm3
movdqu xmm4, xmm14
movups xmmword [rsp + 0x40], xmm6
movdqu xmm14, xmm7
movdqu xmm7, xmmword [rsp + 0x60]
punpckhdq xmm14, xmm2
shufps xmm3, xmm1, 0xdd
punpckldq xmm11, xmm2
shufps xmm10, xmm1, 0x88
movdqu xmm2, xmm5
movdqu xmm1, xmm0
punpckhdq xmm0, xmm13
punpckldq xmm2, xmm7
punpckhdq xmm5, xmm7
punpckldq xmm1, xmm13
movdqu xmm7, xmmword [rsp + 0x80]
movdqu xmm13, xmm10
punpckhdq xmm4, xmm9
punpckhdq xmm10, xmm3
punpckldq xmm13, xmm3
movdqu xmm9, xmm8
movdqu xmm3, xmmword [rsp + 0x50]
punpckhdq xmm8, xmm7
punpckldq xmm9, xmm7
movdqu xmm7, xmm15
movdqu xmm6, xmm12
punpckldq xmm7, xmm3
punpckhdq xmm15, xmm3
movdqu xmm3, xmmword [rsp + 0x70]
punpckldq xmm6, xmm3
punpckhdq xmm12, xmm3
movdqu xmm3, xmm1
punpckldq xmm3, xmm2
punpckhdq xmm1, xmm2
movdqu xmm2, xmm0
movups xmmword [rsp + 0x60], xmm6
punpckldq xmm2, xmm5
punpckhdq xmm0, xmm5
movdqu xmm5, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x70], xmm12
movdqu xmm6, xmm5
punpckldq xmm6, xmm9
movdqu xmm12, xmm6
movdqu xmm6, xmm5
movdqu xmm5, xmm4
punpckhdq xmm6, xmm9
movdqu xmm9, xmm11
punpckhdq xmm11, xmm7
punpckldq xmm9, xmm7
punpckldq xmm5, xmm8
punpckhdq xmm4, xmm8
movups xmmword [rsp + 0x50], xmm9
movdqu xmm8, xmm14
movdqu xmm9, xmm11
movdqu xmm11, xmm14
punpckldq xmm8, xmm15
punpckhdq xmm11, xmm15
movdqu xmm7, xmm13
movdqu xmm14, xmmword [rsp + 0x60]
movdqu xmm15, xmm13
movdqu xmm13, xmmword [rsp + 0x50]
punpckldq xmm7, xmm14
punpckhdq xmm15, xmm14
movdqu xmm14, xmmword [rsp + 0x70]
movups xmmword [rsp + 0x60], xmm15
movdqu xmm15, xmm10
punpckldq xmm15, xmm14
punpckhdq xmm10, xmm14
movdqu xmm14, xmm3
punpckldq xmm14, xmm13
punpckhdq xmm3, xmm13
movdqu xmm13, xmm1
movups xmmword [rsp + 0x40], xmm10
movups xmmword [rsp + 0x50], xmm14
punpckldq xmm13, xmm9
punpckhdq xmm1, xmm9
movdqu xmm14, xmm12
movdqu xmm9, xmm2
punpckhdq xmm12, xmm7
punpckldq xmm14, xmm7
punpckldq xmm9, xmm8
punpckhdq xmm2, xmm8
movdqu xmm7, xmm12
movdqu xmm8, xmm0
movdqu xmm12, xmm5
punpckhdq xmm0, xmm11
punpckldq xmm8, xmm11
punpckldq xmm12, xmm15
punpckhdq xmm5, xmm15
movdqu xmm11, xmmword [rsp + 0x60]
movdqu xmm15, xmm4
movdqu xmm10, xmm13
movdqu xmm13, xmm6
punpckldq xmm13, xmm11
punpckldq xmm15, xmmword [rsp + 0x40]
punpckhdq xmm6, xmm11
punpckhdq xmm4, xmmword [rsp + 0x40]
movdqu xmm11, xmm15
movdqu xmm15, xmmword [rsp + 0x50]
punpckldq xmm15, xmm14
movups xmmword [rax - 0x100], xmm15
movdqu xmm15, xmmword [rsp + 0x50]
punpckhdq xmm15, xmm14
movdqu xmm14, xmm3
punpckhdq xmm3, xmm7
movups xmmword [rax - 0xd0], xmm3
movdqu xmm3, xmm10
punpckldq xmm14, xmm7
punpckhdq xmm10, xmm13
punpckldq xmm3, xmm13
movups xmmword [rax - 0xf0], xmm15
movups xmmword [rax - 0xc0], xmm3
movdqu xmm3, xmm1
punpckhdq xmm1, xmm6
movups xmmword [rax - 0x90], xmm1
movdqu xmm1, xmm9
punpckldq xmm3, xmm6
punpckhdq xmm9, xmm12
punpckldq xmm1, xmm12
movups xmmword [rax - 0xe0], xmm14
movups xmmword [rax - 0x80], xmm1
movdqu xmm1, xmm2
punpckhdq xmm2, xmm5
punpckldq xmm1, xmm5
movups xmmword [rax - 0xb0], xmm10
movups xmmword [rax - 0x60], xmm1
movdqu xmm1, xmm8
punpckhdq xmm8, xmm11
punpckldq xmm1, xmm11
movups xmmword [rax - 0xa0], xmm3
movups xmmword [rax - 0x40], xmm1
movdqu xmm1, xmm0
punpckhdq xmm0, xmm4
punpckldq xmm1, xmm4
movups xmmword [rax - 0x70], xmm9
movups xmmword [rax - 0x50], xmm2
movups xmmword [rax - 0x30], xmm8
movups xmmword [rax - 0x20], xmm1
movups xmmword [rax - 0x10], xmm0
cmp rax, rcx
jne 0x58f400
mov rdx, r14
and rdx, 0xfffffffffffffffc
test r14b, 3
je 0x58fbd2
mov rax, rdx
shl rax, 6
mov ecx, dword [r15 + rax]
mov dword [r12 + rax], ecx
mov rcx, rdx
shl rcx, 4
add rcx, 1
mov r8d, dword [r15 + rcx*4]
lea rax, [rcx*4]
mov dword [r12 + rax + 0x10], r8d
mov r8d, dword [r15 + rax + 4]
mov dword [r12 + rax + 0x24], r8d
mov r8d, dword [r15 + rax + 8]
mov dword [r12 + rax + 0x38], r8d
mov r8d, dword [r15 + rax + 0xc]
mov dword [r12 + rax + 0xc], r8d
mov r8d, dword [r15 + rax + 0x10]
mov dword [r12 + rax + 0x20], r8d
mov r8d, dword [r15 + rax + 0x14]
mov dword [r12 + rax + 0x34], r8d
mov r8d, dword [r15 + rax + 0x18]
mov dword [r12 + rax + 8], r8d
mov r8d, dword [r15 + rax + 0x1c]
mov dword [r12 + rax + 0x1c], r8d
mov r8d, dword [r15 + rax + 0x20]
mov dword [r12 + rax + 0x30], r8d
mov r8d, dword [r15 + rax + 0x24]
mov dword [r12 + rax + 4], r8d
mov r8d, dword [r15 + rax + 0x28]
mov dword [r12 + rax + 0x18], r8d
mov r8d, dword [r15 + rax + 0x2c]
mov dword [r12 + rax + 0x2c], r8d
mov r8d, dword [r15 + rax + 0x30]
mov dword [r12 + rcx*4], r8d
mov ecx, dword [r15 + rax + 0x34]
mov dword [r12 + rax + 0x14], ecx
mov ecx, dword [r15 + rax + 0x38]
mov dword [r12 + rax + 0x28], ecx
lea rax, [rdx + 1]
cmp rax, r14
jae 0x58fbd2
mov rcx, rax
shl rax, 4
add rdx, 2
shl rcx, 6
mov r8d, dword [r15 + rcx]
mov dword [r12 + rcx], r8d
lea rcx, [rax + 1]
mov r8d, dword [r15 + rcx*4]
lea rax, [rcx*4]
mov dword [r12 + rax + 0x10], r8d
mov r8d, dword [r15 + rax + 4]
mov dword [r12 + rax + 0x24], r8d
mov r8d, dword [r15 + rax + 8]
mov dword [r12 + rax + 0x38], r8d
mov r8d, dword [r15 + rax + 0xc]
mov dword [r12 + rax + 0xc], r8d
mov r8d, dword [r15 + rax + 0x10]
mov dword [r12 + rax + 0x20], r8d
mov r8d, dword [r15 + rax + 0x14]
mov dword [r12 + rax + 0x34], r8d
mov r8d, dword [r15 + rax + 0x18]
mov dword [r12 + rax + 8], r8d
mov r8d, dword [r15 + rax + 0x1c]
mov dword [r12 + rax + 0x1c], r8d
mov r8d, dword [r15 + rax + 0x20]
mov dword [r12 + rax + 0x30], r8d
mov r8d, dword [r15 + rax + 0x24]
mov dword [r12 + rax + 4], r8d
mov r8d, dword [r15 + rax + 0x28]
mov dword [r12 + rax + 0x18], r8d
mov r8d, dword [r15 + rax + 0x2c]
mov dword [r12 + rax + 0x2c], r8d
mov r8d, dword [r15 + rax + 0x30]
mov dword [r12 + rcx*4], r8d
mov ecx, dword [r15 + rax + 0x34]
mov dword [r12 + rax + 0x14], ecx
mov ecx, dword [r15 + rax + 0x38]
mov dword [r12 + rax + 0x28], ecx
cmp r14, rdx
jbe 0x58fbd2
mov rax, rdx
shl rdx, 4
shl rax, 6
add rdx, 1
mov ecx, dword [r15 + rax]
mov dword [r12 + rax], ecx
mov ecx, dword [r15 + rdx*4]
lea rax, [rdx*4]
mov dword [r12 + rax + 0x10], ecx
mov ecx, dword [r15 + rax + 4]
mov dword [r12 + rax + 0x24], ecx
mov ecx, dword [r15 + rax + 8]
mov dword [r12 + rax + 0x38], ecx
mov ecx, dword [r15 + rax + 0xc]
mov dword [r12 + rax + 0xc], ecx
mov ecx, dword [r15 + rax + 0x10]
mov dword [r12 + rax + 0x20], ecx
mov ecx, dword [r15 + rax + 0x14]
mov dword [r12 + rax + 0x34], ecx
mov ecx, dword [r15 + rax + 0x18]
mov dword [r12 + rax + 8], ecx
mov ecx, dword [r15 + rax + 0x1c]
mov dword [r12 + rax + 0x1c], ecx
mov ecx, dword [r15 + rax + 0x20]
mov dword [r12 + rax + 0x30], ecx
mov ecx, dword [r15 + rax + 0x24]
mov dword [r12 + rax + 4], ecx
mov ecx, dword [r15 + rax + 0x28]
mov dword [r12 + rax + 0x18], ecx
mov ecx, dword [r15 + rax + 0x2c]
mov dword [r12 + rax + 0x2c], ecx
mov ecx, dword [r15 + rax + 0x30]
mov dword [r12 + rdx*4], ecx
mov edx, dword [r15 + rax + 0x34]
mov dword [r12 + rax + 0x14], edx
mov edx, dword [r15 + rax + 0x38]
mov dword [r12 + rax + 0x28], edx
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x30], rbp
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x28], r15
mov r9d, dword [rsp + 0xc0]
mov qword [rsp + 0x20], rax
mov r8d, dword [rsp + 0x230]
call fcn.0058cbb0
mov qword [rsp + 0x30], rbp
mov rdx, r13
mov rcx, r12
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x28], r15
mov r9d, dword [rsp + 0xc4]
mov r8d, dword [rsp + 0x230]
mov qword [rsp + 0x20], rax
call fcn.0058cbb0
nop
movups xmm6, xmmword [rsp + 0x130]
movups xmm7, xmmword [rsp + 0x140]
movups xmm8, xmmword [rsp + 0x150]
movups xmm9, xmmword [rsp + 0x160]
movups xmm10, xmmword [rsp + 0x170]
movups xmm11, xmmword [rsp + 0x180]
movups xmm12, xmmword [rsp + 0x190]
movups xmm13, xmmword [rsp + 0x1a0]
movups xmm14, xmmword [rsp + 0x1b0]
movups xmm15, xmmword [rsp + 0x1c0]
add rsp, 0x1d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, dword [r15 + rax]
mov dword [rsi + rax], edx
add rax, 4
cmp rax, qword [rsp + 0x50]
jne 0x58fca8
jmp 0x58f310
mov rbx, qword [rsp + 0x50]
mov rdx, r15
lea r8, [rax + rbx]
nop dword [rax]
add rax, 4
add rdx, 4
mov ecx, dword [rax - 4]
xor dword [rdx - 4], ecx
cmp rax, r8
jne 0x58fcd0
mov rax, qword [rbp + 0x18]
cmp qword [rsp + 0x238], rax
jne 0x58f3a4
nop dword [rax]
mov eax, dword [r15 + 0x40]
mov r12d, dword [rbp + 4]
mov rbx, r15
mov r9d, dword [r15 + 0x58]
mov edx, dword [r15 + 0x60]
mov r8d, dword [r15 + 0x68]
mov r11d, dword [r15 + 0x74]
mov dword [rsp + 0x60], eax
mov eax, dword [r15 + 0x44]
mov ecx, dword [r15 + 0x78]
mov r10d, dword [r15 + 0x7c]
mov dword [rsp + 0x70], eax
mov eax, dword [r15 + 0x48]
mov dword [rsp + 0x80], eax
mov eax, dword [r15 + 0x4c]
mov dword [rsp + 0x9c], eax
mov eax, dword [r15 + 0x50]
mov dword [rsp + 0xa0], eax
mov eax, dword [r15 + 0x54]
mov dword [rsp + 0xa4], eax
mov eax, dword [r15 + 0x5c]
mov dword [rsp + 0xb0], eax
mov eax, dword [r15 + 0x64]
mov dword [rsp + 0xa8], eax
mov eax, dword [r15 + 0x6c]
mov dword [rsp + 0xb4], eax
mov eax, dword [r15 + 0x70]
movd xmm0, r9d
movdqu xmm7, xmmword [rbx + 0x10]
movd xmm1, edx
mov edx, r12d
movd xmm5, dword [rsp + 0xb0]
movd xmm3, ecx
movd xmm6, dword [rsp + 0xa4]
add rbx, 0x40
movd xmm2, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0xe0]
movd xmm4, dword [rsp + 0xb4]
punpckldq xmm0, xmm5
movd xmm5, dword [rsp + 0xa8]
punpckldq xmm2, xmm6
movdqu xmm6, xmmword [rbx - 0x20]
punpcklqdq xmm2, xmm0
movd xmm0, r8d
punpckldq xmm1, xmm5
movdqu xmm5, xmmword [rbx - 0x10]
punpckldq xmm0, xmm4
pxor xmm2, xmm7
movd xmm4, r11d
movd xmm7, r10d
punpcklqdq xmm1, xmm0
movd xmm0, eax
movups xmmword [rsp + 0x100], xmm2
punpckldq xmm3, xmm7
punpckldq xmm0, xmm4
pxor xmm1, xmm6
movd xmm4, dword [rsp + 0x80]
movd xmm6, dword [rsp + 0x9c]
movd xmm7, dword [rsp + 0x70]
punpcklqdq xmm0, xmm3
movups xmmword [rsp + 0x110], xmm1
movd xmm3, dword [rsp + 0x60]
pxor xmm0, xmm5
punpckldq xmm4, xmm6
movups xmmword [rsp + 0x120], xmm0
punpckldq xmm3, xmm7
punpcklqdq xmm3, xmm4
movdqu xmm4, xmmword [rbx - 0x40]
pxor xmm3, xmm4
movups xmmword [rsp + 0xf0], xmm3
call fcn.0058c150
mov eax, dword [rsp + 0xf0]
movdqu xmm2, xmmword [rsp + 0xf0]
movdqu xmm1, xmmword [rsp + 0x100]
mov r9d, dword [rsp + 0x108]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0xf4]
movups xmmword [rbx - 0x40], xmm2
mov edx, dword [rsp + 0x110]
movdqu xmm2, xmmword [rsp + 0x110]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0xf8]
movups xmmword [rbx - 0x30], xmm1
mov r8d, dword [rsp + 0x118]
movdqu xmm1, xmmword [rsp + 0x120]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0xfc]
movups xmmword [rbx - 0x20], xmm2
mov r11d, dword [rsp + 0x124]
mov ecx, dword [rsp + 0x128]
mov dword [rsp + 0x9c], eax
mov eax, dword [rsp + 0x100]
mov r10d, dword [rsp + 0x12c]
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x104]
mov dword [rsp + 0xa4], eax
mov eax, dword [rsp + 0x10c]
mov dword [rsp + 0xb0], eax
mov eax, dword [rsp + 0x114]
mov dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0x11c]
mov dword [rsp + 0xb4], eax
mov eax, dword [rsp + 0x120]
movups xmmword [rbx - 0x10], xmm1
cmp qword [rsp + 0xd8], rbx
jne 0x58fd78
jmp 0x58f3b2
xor eax, eax
nop word [rax + rax]
mov edx, dword [r15 + rax]
mov dword [r14 + rax], edx
add rax, 4
cmp rax, 0x80
jne 0x58ff68
jmp 0x58e46f
mov eax, dword [r15 + 0x40]
mov r12d, dword [rbp + 4]
mov rbx, r15
mov r13d, dword [r15 + 0x54]
mov r9d, dword [r15 + 0x58]
mov edx, dword [r15 + 0x60]
mov r8d, dword [r15 + 0x68]
mov dword [rsp + 0xb0], eax
mov eax, dword [r15 + 0x44]
mov r11d, dword [r15 + 0x74]
mov ecx, dword [r15 + 0x78]
mov r10d, dword [r15 + 0x7c]
mov dword [rsp + 0xa4], eax
mov eax, dword [r15 + 0x48]
mov dword [rsp + 0xa0], eax
mov eax, dword [r15 + 0x4c]
mov dword [rsp + 0x9c], eax
mov eax, dword [r15 + 0x50]
mov dword [rsp + 0x80], eax
mov eax, dword [r15 + 0x5c]
mov dword [rsp + 0x70], eax
mov eax, dword [r15 + 0x64]
mov dword [rsp + 0x60], eax
mov eax, dword [r15 + 0x6c]
mov dword [rsp + 0x50], eax
mov eax, dword [r15 + 0x70]
movd xmm2, dword [rsp + 0x70]
movd xmm0, r9d
movd xmm1, edx
movd xmm4, r13d
movdqu xmm5, xmmword [rbx + 0x10]
movd xmm3, ecx
mov edx, r12d
add rbx, 0x40
punpckldq xmm0, xmm2
movd xmm6, dword [rsp + 0x50]
movd xmm2, dword [rsp + 0x80]
movd xmm7, dword [rsp + 0x60]
mov rcx, qword [rsp + 0xb8]
punpckldq xmm2, xmm4
movdqu xmm4, xmmword [rbx - 0x20]
punpcklqdq xmm2, xmm0
movd xmm0, r8d
punpckldq xmm1, xmm7
movdqu xmm7, xmmword [rbx - 0x10]
punpckldq xmm0, xmm6
pxor xmm2, xmm5
movd xmm6, r11d
movd xmm5, r10d
punpcklqdq xmm1, xmm0
movd xmm0, eax
movups xmmword [rsp + 0x100], xmm2
punpckldq xmm3, xmm5
punpckldq xmm0, xmm6
pxor xmm1, xmm4
movd xmm5, dword [rsp + 0x9c]
movd xmm4, dword [rsp + 0xa0]
punpcklqdq xmm0, xmm3
movd xmm6, dword [rsp + 0xa4]
movups xmmword [rsp + 0x110], xmm1
movd xmm3, dword [rsp + 0xb0]
pxor xmm0, xmm7
punpckldq xmm4, xmm5
movups xmmword [rsp + 0x120], xmm0
punpckldq xmm3, xmm6
punpcklqdq xmm3, xmm4
movdqu xmm4, xmmword [rbx - 0x40]
pxor xmm3, xmm4
movups xmmword [rsp + 0xf0], xmm3
call fcn.0058c150
mov eax, dword [rsp + 0xf0]
movdqu xmm2, xmmword [rsp + 0xf0]
movdqu xmm7, xmmword [rsp + 0x110]
mov r13d, dword [rsp + 0x104]
mov dword [rsp + 0xb0], eax
mov eax, dword [rsp + 0xf4]
movups xmmword [rbx - 0x40], xmm2
mov r9d, dword [rsp + 0x108]
movdqu xmm2, xmmword [rsp + 0x100]
mov dword [rsp + 0xa4], eax
mov eax, dword [rsp + 0xf8]
movups xmmword [rbx - 0x30], xmm2
mov edx, dword [rsp + 0x110]
movdqu xmm2, xmmword [rsp + 0x120]
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0xfc]
movups xmmword [rbx - 0x20], xmm7
mov r8d, dword [rsp + 0x118]
mov r11d, dword [rsp + 0x124]
mov dword [rsp + 0x9c], eax
mov eax, dword [rsp + 0x100]
movups xmmword [rbx - 0x10], xmm2
mov ecx, dword [rsp + 0x128]
mov r10d, dword [rsp + 0x12c]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x10c]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x114]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x11c]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x120]
cmp rbx, qword [rsp + 0xa8]
jne 0x58fffe
jmp 0x58e890
xor eax, eax
nop word [rax + rax]
mov edx, dword [r15 + rax]
mov dword [r14 + rax], edx
add rax, 4
cmp rax, 0x80
jne 0x5901e0
jmp 0x58e7aa
xor eax, eax
nop word [rax + rax]
mov ecx, dword [rdx + rax]
xor dword [r15 + rax], ecx
add rax, 4
cmp rax, 0x80
jne 0x590208
jmp 0x58e87b
mov r8, r13
mov rax, r12
mov rdx, r15
shl r8, 7
add r8, r12
mov ecx, dword [rax]
add rax, 0x40
add rdx, 0x40
mov dword [rdx - 0x40], ecx
mov ecx, dword [rax - 0x2c]
mov dword [rdx - 0x3c], ecx
mov ecx, dword [rax - 0x18]
mov dword [rdx - 0x38], ecx
mov ecx, dword [rax - 4]
mov dword [rdx - 0x34], ecx
mov ecx, dword [rax - 0x30]
mov dword [rdx - 0x30], ecx
mov ecx, dword [rax - 0x1c]
mov dword [rdx - 0x2c], ecx
mov ecx, dword [rax - 8]
mov dword [rdx - 0x28], ecx
mov ecx, dword [rax - 0x34]
mov dword [rdx - 0x24], ecx
mov ecx, dword [rax - 0x20]
mov dword [rdx - 0x20], ecx
mov ecx, dword [rax - 0xc]
mov dword [rdx - 0x1c], ecx
mov ecx, dword [rax - 0x38]
mov dword [rdx - 0x18], ecx
mov ecx, dword [rax - 0x24]
mov dword [rdx - 0x14], ecx
mov ecx, dword [rax - 0x10]
mov dword [rdx - 0x10], ecx
mov ecx, dword [rax - 0x3c]
mov dword [rdx - 0xc], ecx
mov ecx, dword [rax - 0x28]
mov dword [rdx - 8], ecx
mov ecx, dword [rax - 0x14]
mov dword [rdx - 4], ecx
cmp r8, rax
jne 0x590230
jmp 0x58f1d8
mov r8, r13
mov rax, r15
mov rdx, r12
shl r8, 7
add r8, r15
nop dword [rax + rax]
mov ecx, dword [rax]
add rax, 0x40
add rdx, 0x40
mov dword [rdx - 0x40], ecx
mov ecx, dword [rax - 0x3c]
mov dword [rdx - 0x2c], ecx
mov ecx, dword [rax - 0x38]
mov dword [rdx - 0x18], ecx
mov ecx, dword [rax - 0x34]
mov dword [rdx - 4], ecx
mov ecx, dword [rax - 0x30]
mov dword [rdx - 0x30], ecx
mov ecx, dword [rax - 0x2c]
mov dword [rdx - 0x1c], ecx
mov ecx, dword [rax - 0x28]
mov dword [rdx - 8], ecx
mov ecx, dword [rax - 0x24]
mov dword [rdx - 0x34], ecx
mov ecx, dword [rax - 0x20]
mov dword [rdx - 0x20], ecx
mov ecx, dword [rax - 0x1c]
mov dword [rdx - 0xc], ecx
mov ecx, dword [rax - 0x18]
mov dword [rdx - 0x38], ecx
mov ecx, dword [rax - 0x14]
mov dword [rdx - 0x24], ecx
mov ecx, dword [rax - 0x10]
mov dword [rdx - 0x10], ecx
mov ecx, dword [rax - 0xc]
mov dword [rdx - 0x3c], ecx
mov ecx, dword [rax - 8]
mov dword [rdx - 0x28], ecx
mov ecx, dword [rax - 4]
mov dword [rdx - 0x14], ecx
cmp r8, rax
jne 0x5902c0
jmp 0x58fbd2