Function at 0x5977c0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1a8
movups xmmword [rsp + 0x100], xmm6
movups xmmword [rsp + 0x110], xmm7
movups xmmword [rsp + 0x120], xmm8
movups xmmword [rsp + 0x130], xmm9
movups xmmword [rsp + 0x140], xmm10
movups xmmword [rsp + 0x150], xmm11
movups xmmword [rsp + 0x160], xmm12
movups xmmword [rsp + 0x170], xmm13
movups xmmword [rsp + 0x180], xmm14
movups xmmword [rsp + 0x190], xmm15
mov r12, qword [rsp + 0x218]
mov rbp, qword [rsp + 0x210]
mov eax, r8d
mov qword [rsp + 0x1f8], rdx
mov edx, 0xaaaaaaab
mov r14, rcx
add eax, 2
mov dword [rsp + 0x200], r8d
imul rax, rdx
mov qword [rsp + 0x208], r9
mov dword [rsp + 0x94], 0
shr rax, 0x21
lea edx, [rax + 1]
and edx, 0xfffffffe
cmp dword [r12], 5
mov dword [rsp + 0x8c], edx
jne 0x59789d
and eax, 0xfffffffe
mov esi, edx
sub esi, eax
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0x94], esi
mov eax, dword [r14]
mov r13, qword [r12 + 0x18]
mov edx, dword [r12 + 0x10]
mov dword [rbp], eax
mov ecx, dword [r14 + 0x14]
mov qword [rsp + 0x50], r13
mov ebx, edx
shr ebx, 7
mov dword [rbp + 4], ecx
mov ecx, dword [r14 + 0x28]
mov dword [rbp + 8], ecx
mov ecx, dword [r14 + 0x3c]
mov dword [rbp + 0xc], ecx
mov ecx, dword [r14 + 0x10]
mov dword [rbp + 0x10], ecx
mov ecx, dword [r14 + 0x24]
mov dword [rbp + 0x14], ecx
mov ecx, dword [r14 + 0x38]
mov dword [rbp + 0x18], ecx
mov ecx, dword [r14 + 0xc]
mov dword [rbp + 0x1c], ecx
mov ecx, dword [r14 + 0x20]
mov dword [rbp + 0x20], ecx
mov ecx, dword [r14 + 0x34]
mov dword [rbp + 0x24], ecx
mov ecx, dword [r14 + 8]
mov dword [rbp + 0x28], ecx
mov ecx, dword [r14 + 0x1c]
mov dword [rbp + 0x2c], ecx
mov ecx, dword [r14 + 0x30]
mov dword [rbp + 0x30], ecx
mov ecx, dword [r14 + 4]
mov dword [rbp + 0x34], ecx
mov ecx, dword [r14 + 0x18]
mov dword [rbp + 0x38], ecx
mov ecx, dword [r14 + 0x2c]
mov dword [rbp + 0x3c], ecx
mov ecx, dword [r14 + 0x40]
mov dword [rbp + 0x40], ecx
mov ecx, dword [r14 + 0x54]
mov dword [rbp + 0x44], ecx
mov ecx, dword [r14 + 0x68]
mov dword [rbp + 0x48], ecx
mov ecx, dword [r14 + 0x7c]
mov dword [rbp + 0x4c], ecx
mov ecx, dword [r14 + 0x50]
mov dword [rbp + 0x50], ecx
mov ecx, dword [r14 + 0x64]
mov dword [rbp + 0x54], ecx
mov ecx, dword [r14 + 0x78]
mov dword [rbp + 0x58], ecx
mov ecx, dword [r14 + 0x4c]
mov dword [rbp + 0x5c], ecx
mov ecx, dword [r14 + 0x60]
mov dword [rbp + 0x60], ecx
mov ecx, dword [r14 + 0x74]
mov dword [rbp + 0x64], ecx
mov ecx, dword [r14 + 0x48]
mov dword [rbp + 0x68], ecx
mov ecx, dword [r14 + 0x5c]
mov dword [rbp + 0x6c], ecx
mov ecx, dword [r14 + 0x70]
mov dword [rbp + 0x70], ecx
mov ecx, dword [r14 + 0x44]
mov dword [rbp + 0x74], ecx
mov ecx, dword [r14 + 0x58]
mov dword [rbp + 0x78], ecx
mov ecx, dword [r14 + 0x6c]
mov dword [rsp + 0x80], ebx
mov dword [rbp + 0x7c], ecx
je 0x597e5b
sub ebx, 1
mov eax, 1
mov qword [rsp + 0x1f0], r14
mov edi, ebx
cmovne edi, eax
xor esi, esi
lea eax, [rdi + 1]
mov dword [rsp + 0xb0], edi
mov rdi, r12
mov dword [rsp + 0x90], eax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x80]
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0xa8], rax
jmp 0x597a19
mov rdx, rdi
mov rcx, rbp
sub r13, 0xffffffffffffff80
call fcn.00597560
lea eax, [rsi + 1]
cmp dword [rsp + 0xb0], esi
je 0x597ca9
mov esi, eax
lea rax, [r13 + 0x10]
cmp rbp, rax
jae 0x597a2d
cmp qword [rsp + 0x40], r13
ja 0x5993b0
movdqu xmm5, xmmword [rbp]
movups xmmword [r13], xmm5
movdqu xmm5, xmmword [rbp + 0x10]
movups xmmword [r13 + 0x10], xmm5
movdqu xmm7, xmmword [rbp + 0x20]
movups xmmword [r13 + 0x20], xmm7
movdqu xmm5, xmmword [rbp + 0x30]
movups xmmword [r13 + 0x30], xmm5
movdqu xmm7, xmmword [rbp + 0x40]
movups xmmword [r13 + 0x40], xmm7
movdqu xmm5, xmmword [rbp + 0x50]
movups xmmword [r13 + 0x50], xmm5
movdqu xmm7, xmmword [rbp + 0x60]
movups xmmword [r13 + 0x60], xmm7
movdqu xmm5, xmmword [rbp + 0x70]
movups xmmword [r13 + 0x70], xmm5
mov rax, qword [rsp + 0x50]
cmp rax, qword [rdi + 0x18]
jne 0x5979f8
mov eax, dword [rdi + 4]
mov ebx, dword [rbp + 0x70]
mov ecx, dword [rbp + 0x44]
mov r15d, dword [rbp + 0x4c]
mov dword [rsp + 0x98], eax
mov eax, dword [rbp + 0x40]
mov dword [rsp + 0x7c], ebx
mov ebx, dword [rbp + 0x78]
mov r14d, dword [rbp + 0x54]
mov r9d, dword [rbp + 0x58]
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x48]
mov r12d, dword [rbp + 0x5c]
mov dword [rsp + 0x88], ebx
mov rbx, rbp
mov edx, dword [rbp + 0x64]
mov r8d, dword [rbp + 0x68]
mov dword [rsp + 0x70], eax
mov eax, dword [rbp + 0x50]
mov r11d, dword [rbp + 0x74]
mov r10d, dword [rbp + 0x7c]
mov dword [rsp + 0x74], eax
mov eax, dword [rbp + 0x60]
mov dword [rsp + 0x78], eax
mov eax, dword [rbp + 0x6c]
movd xmm2, dword [rsp + 0x74]
movd xmm0, r9d
add rbx, 0x40
movd xmm1, dword [rsp + 0x78]
pinsrd xmm0, r12d, 1
pinsrd xmm2, r14d, 1
punpcklqdq xmm2, xmm0
movd xmm0, r8d
movd xmm3, dword [rsp + 0x88]
pinsrd xmm0, eax, 1
pinsrd xmm1, edx, 1
punpcklqdq xmm1, xmm0
movd xmm0, dword [rsp + 0x7c]
pinsrd xmm3, r10d, 1
movdqu xmm7, xmmword [rbx - 0x30]
pinsrd xmm0, r11d, 1
punpcklqdq xmm0, xmm3
movd xmm3, dword [rsp + 0x60]
movdqu xmm5, xmmword [rbx - 0x20]
pxor xmm2, xmm7
movups xmmword [rsp + 0xd0], xmm2
mov edx, dword [rsp + 0x98]
pinsrd xmm3, ecx, 1
mov rcx, qword [rsp + 0xa8]
pxor xmm1, xmm5
movups xmmword [rsp + 0xe0], xmm1
movdqu xmm7, xmmword [rbx - 0x10]
movdqu xmm5, xmmword [rbx - 0x40]
movd xmm4, dword [rsp + 0x70]
pxor xmm0, xmm7
movups xmmword [rsp + 0xf0], xmm0
pinsrd xmm4, r15d, 1
punpcklqdq xmm3, xmm4
pxor xmm3, xmm5
movups xmmword [rsp + 0xc0], xmm3
call fcn.00595870
mov eax, dword [rsp + 0xc0]
mov r10d, dword [rsp + 0xf0]
movdqu xmm7, xmmword [rsp + 0xc0]
movdqu xmm5, xmmword [rsp + 0xd0]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x7c], r10d
mov r10d, dword [rsp + 0xf8]
movups xmmword [rbx - 0x40], xmm7
mov ecx, dword [rsp + 0xc4]
movups xmmword [rbx - 0x30], xmm5
mov r15d, dword [rsp + 0xcc]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x88], r10d
mov r14d, dword [rsp + 0xd4]
movdqu xmm7, xmmword [rsp + 0xe0]
movdqu xmm5, xmmword [rsp + 0xf0]
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0xe0]
movups xmmword [rbx - 0x20], xmm7
mov r9d, dword [rsp + 0xd8]
movups xmmword [rbx - 0x10], xmm5
mov r12d, dword [rsp + 0xdc]
mov edx, dword [rsp + 0xe4]
mov dword [rsp + 0x78], eax
mov r8d, dword [rsp + 0xe8]
mov eax, dword [rsp + 0xec]
mov r11d, dword [rsp + 0xf4]
mov r10d, dword [rsp + 0xfc]
cmp qword [rsp + 0xa0], rbx
jne 0x597aeb
sub r13, 0xffffffffffffff80
lea eax, [rsi + 1]
cmp dword [rsp + 0xb0], esi
jne 0x597a17
mov eax, dword [rsp + 0x90]
mov r12, rdi
mov rsi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x1f0]
mov rbx, rax
shl rax, 7
add rsi, rax
lea rax, [rbp + 0x80]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0xa0], rax
cmp dword [rsp + 0x80], ebx
jbe 0x597e58
mov edi, ebx
mov qword [rsp + 0x1f0], r14
lea rax, [rsi + 0x10]
cmp rbp, rax
jae 0x597d14
cmp qword [rsp + 0x40], rsi
ja 0x5995f0
movdqu xmm7, xmmword [rbp]
movups xmmword [rsi], xmm7
movdqu xmm2, xmmword [rbp + 0x10]
movups xmmword [rsi + 0x10], xmm2
movdqu xmm5, xmmword [rbp + 0x20]
movups xmmword [rsi + 0x20], xmm5
movdqu xmm7, xmmword [rbp + 0x30]
movups xmmword [rsi + 0x30], xmm7
movdqu xmm2, xmmword [rbp + 0x40]
movups xmmword [rsi + 0x40], xmm2
movdqu xmm5, xmmword [rbp + 0x50]
movups xmmword [rsi + 0x50], xmm5
movdqu xmm7, xmmword [rbp + 0x60]
movups xmmword [rsi + 0x60], xmm7
movdqu xmm2, xmmword [rbp + 0x70]
movups xmmword [rsi + 0x70], xmm2
mov eax, dword [rbp + 0x40]
mov edx, edi
lea ecx, [rdx - 1]
mov r8d, edx
and edx, ecx
jne 0x597d60
mov rbx, qword [rsp + 0x50]
and eax, ecx
sub eax, r8d
add eax, edi
shl rax, 7
lea rdx, [rbx + rax]
lea rax, [rbx + rax + 0x10]
cmp rbp, rax
jae 0x597d93
cmp qword [rsp + 0x40], rdx
ja 0x599610
movdqu xmm0, xmmword [rdx]
movdqu xmm5, xmmword [rbp]
movdqu xmm7, xmmword [rbp + 0x10]
pxor xmm0, xmm5
movups xmmword [rbp], xmm0
movdqu xmm0, xmmword [rax]
movdqu xmm2, xmmword [rbp + 0x20]
pxor xmm0, xmm7
movups xmmword [rbp + 0x10], xmm0
movdqu xmm0, xmmword [rax + 0x10]
movdqu xmm5, xmmword [rbp + 0x30]
pxor xmm0, xmm2
movups xmmword [rbp + 0x20], xmm0
movdqu xmm0, xmmword [rax + 0x20]
movdqu xmm7, xmmword [rbp + 0x40]
pxor xmm0, xmm5
movups xmmword [rbp + 0x30], xmm0
movdqu xmm0, xmmword [rax + 0x30]
movdqu xmm2, xmmword [rbp + 0x50]
pxor xmm0, xmm7
movups xmmword [rbp + 0x40], xmm0
movdqu xmm0, xmmword [rax + 0x40]
movdqu xmm5, xmmword [rbp + 0x60]
pxor xmm0, xmm2
movups xmmword [rbp + 0x50], xmm0
movdqu xmm0, xmmword [rax + 0x50]
movdqu xmm7, xmmword [rbp + 0x70]
pxor xmm0, xmm5
movups xmmword [rbp + 0x60], xmm0
movdqu xmm0, xmmword [rax + 0x60]
pxor xmm0, xmm7
movups xmmword [rbp + 0x70], xmm0
mov rax, qword [rsp + 0x50]
cmp rax, qword [r12 + 0x18]
je 0x5993d8
mov rdx, r12
mov rcx, rbp
call fcn.00597560
add edi, 1
sub rsi, 0xffffffffffffff80
cmp dword [rsp + 0x80], edi
jne 0x597d00
mov r14, qword [rsp + 0x1f0]
mov eax, dword [rbp]
mov dword [r14], eax
mov eax, dword [rbp + 4]
mov dword [r14 + 0x14], eax
mov eax, dword [rbp + 8]
mov dword [r14 + 0x28], eax
mov eax, dword [rbp + 0xc]
mov dword [r14 + 0x3c], eax
mov eax, dword [rbp + 0x10]
mov dword [r14 + 0x10], eax
mov eax, dword [rbp + 0x14]
mov dword [r14 + 0x24], eax
mov eax, dword [rbp + 0x18]
mov dword [r14 + 0x38], eax
mov eax, dword [rbp + 0x1c]
mov dword [r14 + 0xc], eax
mov eax, dword [rbp + 0x20]
mov dword [r14 + 0x20], eax
mov eax, dword [rbp + 0x24]
mov dword [r14 + 0x34], eax
mov eax, dword [rbp + 0x28]
mov dword [r14 + 8], eax
mov eax, dword [rbp + 0x2c]
mov dword [r14 + 0x1c], eax
mov eax, dword [rbp + 0x30]
mov dword [r14 + 0x30], eax
mov eax, dword [rbp + 0x34]
mov dword [r14 + 4], eax
mov eax, dword [rbp + 0x38]
mov dword [r14 + 0x18], eax
mov eax, dword [rbp + 0x3c]
mov dword [r14 + 0x2c], eax
mov eax, dword [rbp + 0x40]
mov dword [r14 + 0x40], eax
mov eax, dword [rbp + 0x44]
mov rbx, qword [rsp + 0x1f8]
mov dword [r14 + 0x54], eax
mov eax, dword [rbp + 0x48]
shl rbx, 5
mov dword [r14 + 0x68], eax
mov eax, dword [rbp + 0x4c]
mov dword [r14 + 0x7c], eax
mov eax, dword [rbp + 0x50]
mov dword [r14 + 0x50], eax
mov eax, dword [rbp + 0x54]
mov dword [r14 + 0x64], eax
mov eax, dword [rbp + 0x58]
mov dword [r14 + 0x78], eax
mov eax, dword [rbp + 0x5c]
mov dword [r14 + 0x4c], eax
mov eax, dword [rbp + 0x60]
mov dword [r14 + 0x60], eax
mov eax, dword [rbp + 0x64]
mov dword [r14 + 0x74], eax
mov eax, dword [rbp + 0x68]
mov dword [r14 + 0x48], eax
mov eax, dword [rbp + 0x6c]
mov dword [r14 + 0x5c], eax
mov eax, dword [rbp + 0x70]
mov dword [r14 + 0x70], eax
mov eax, dword [rbp + 0x74]
mov dword [r14 + 0x44], eax
mov eax, dword [rbp + 0x78]
mov dword [r14 + 0x58], eax
mov eax, dword [rbp + 0x7c]
mov dword [r14 + 0x6c], eax
mov rax, qword [rsp + 0x1f8]
lea r13, [rax + rax]
lea rax, [r14 + 0xff]
sub rax, rbp
mov qword [rsp + 0x98], rax
cmp rax, 0x1fe
jbe 0x599630
mov rcx, r13
mov rax, rbp
mov rdx, r14
shr rcx, 2
shl rcx, 8
add rcx, rbp
nop dword [rax]
movdqu xmm3, xmmword [rdx]
add rax, 0x100
add rdx, 0x100
movdqu xmm6, xmmword [rdx - 0xf0]
movdqu xmm15, xmmword [rdx - 0xe0]
movdqu xmm4, xmm3
movdqu xmm5, xmmword [rdx - 0xc0]
shufps xmm4, xmm6, 0x88
shufps xmm3, xmm6, 0xdd
movdqu xmm13, xmmword [rdx - 0xd0]
movdqu xmm6, xmm15
movdqu xmm12, xmmword [rdx - 0xb0]
shufps xmm6, xmm13, 0x88
movdqu xmm1, xmmword [rdx - 0x80]
shufps xmm15, xmm13, 0xdd
movdqu xmm13, xmm5
movups xmmword [rsp + 0x40], xmm15
shufps xmm13, xmm12, 0x88
movdqu xmm15, xmm13
movdqu xmm14, xmmword [rdx - 0xa0]
movdqu xmm10, xmmword [rdx - 0x90]
shufps xmm5, xmm12, 0xdd
movdqu xmm8, xmmword [rdx - 0x70]
movdqu xmm13, xmm14
movdqu xmm11, xmmword [rdx - 0x60]
shufps xmm13, xmm10, 0x88
movdqu xmm12, xmm13
movdqu xmm13, xmm1
movdqu xmm7, xmmword [rdx - 0x50]
shufps xmm13, xmm8, 0x88
shufps xmm1, xmm8, 0xdd
shufps xmm14, xmm10, 0xdd
movdqu xmm0, xmmword [rdx - 0x40]
movdqu xmm8, xmm11
movdqu xmm9, xmmword [rdx - 0x30]
shufps xmm8, xmm7, 0x88
shufps xmm11, xmm7, 0xdd
movdqu xmm2, xmmword [rdx - 0x20]
movdqu xmm7, xmm0
movdqu xmm10, xmmword [rdx - 0x10]
shufps xmm7, xmm9, 0x88
shufps xmm0, xmm9, 0xdd
movdqu xmm9, xmm2
shufps xmm9, xmm10, 0x88
shufps xmm2, xmm10, 0xdd
movdqu xmm10, xmm4
shufps xmm4, xmm6, 0xdd
shufps xmm10, xmm6, 0x88
movdqu xmm6, xmm15
shufps xmm15, xmm12, 0xdd
movups xmmword [rsp + 0x50], xmm15
shufps xmm6, xmm12, 0x88
movdqu xmm12, xmm13
shufps xmm13, xmm8, 0xdd
shufps xmm12, xmm8, 0x88
movdqu xmm8, xmm7
movdqu xmm15, xmm12
movdqu xmm12, xmmword [rsp + 0x40]
shufps xmm8, xmm9, 0x88
shufps xmm7, xmm9, 0xdd
movdqu xmm9, xmm3
shufps xmm9, xmm12, 0x88
shufps xmm3, xmm12, 0xdd
movdqu xmm12, xmm5
shufps xmm5, xmm14, 0xdd
shufps xmm12, xmm14, 0x88
movdqu xmm14, xmm1
shufps xmm1, xmm11, 0xdd
shufps xmm14, xmm11, 0x88
movdqu xmm11, xmm0
shufps xmm0, xmm2, 0xdd
shufps xmm11, xmm2, 0x88
movdqu xmm2, xmm10
shufps xmm10, xmm6, 0xdd
shufps xmm2, xmm6, 0x88
movdqu xmm6, xmm15
shufps xmm15, xmm8, 0xdd
shufps xmm6, xmm8, 0x88
movdqu xmm8, xmm9
shufps xmm9, xmm12, 0xdd
movups xmmword [rsp + 0x60], xmm9
shufps xmm8, xmm12, 0x88
movdqu xmm9, xmmword [rsp + 0x50]
movdqu xmm12, xmm14
shufps xmm14, xmm11, 0xdd
shufps xmm12, xmm11, 0x88
movdqu xmm11, xmm4
shufps xmm11, xmm9, 0x88
shufps xmm4, xmm9, 0xdd
movdqu xmm9, xmm13
shufps xmm13, xmm7, 0xdd
shufps xmm9, xmm7, 0x88
movdqu xmm7, xmm3
shufps xmm3, xmm5, 0xdd
shufps xmm7, xmm5, 0x88
movdqu xmm5, xmm1
shufps xmm1, xmm0, 0xdd
shufps xmm5, xmm0, 0x88
movdqu xmm0, xmm2
shufps xmm2, xmm6, 0xdd
shufps xmm0, xmm6, 0x88
movdqu xmm6, xmm8
shufps xmm8, xmm12, 0xdd
shufps xmm6, xmm12, 0x88
movdqu xmm12, xmm11
shufps xmm11, xmm9, 0xdd
shufps xmm12, xmm9, 0x88
movdqu xmm9, xmm7
shufps xmm7, xmm5, 0xdd
movups xmmword [rsp + 0x40], xmm7
shufps xmm9, xmm5, 0x88
movdqu xmm5, xmm10
shufps xmm10, xmm15, 0xdd
movups xmmword [rsp + 0x50], xmm9
shufps xmm5, xmm15, 0x88
movdqu xmm15, xmmword [rsp + 0x60]
movdqu xmm7, xmm5
movdqu xmm5, xmm15
shufps xmm15, xmm14, 0xdd
shufps xmm5, xmm14, 0x88
movdqu xmm14, xmm4
shufps xmm4, xmm13, 0xdd
shufps xmm14, xmm13, 0x88
movdqu xmm13, xmm3
shufps xmm3, xmm1, 0xdd
shufps xmm13, xmm1, 0x88
movdqu xmm1, xmm0
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
movdqu xmm2, xmm5
punpckhdq xmm5, xmm15
punpckldq xmm2, xmm15
movdqu xmm15, xmm11
punpckhdq xmm11, xmm12
punpckldq xmm15, xmm12
movdqu xmm12, xmm3
movdqu xmm9, xmm15
punpckhdq xmm3, xmm13
movdqu xmm15, xmm3
movdqu xmm3, xmm7
punpckhdq xmm7, xmm10
punpckldq xmm12, xmm13
punpckldq xmm3, xmm10
movdqu xmm10, xmm8
movdqu xmm13, xmm4
punpckhdq xmm8, xmm6
punpckldq xmm10, xmm6
movdqu xmm6, xmm4
movdqu xmm4, xmmword [rsp + 0x50]
punpckldq xmm13, xmm14
punpckhdq xmm6, xmm14
movdqu xmm14, xmm4
punpckhdq xmm4, xmmword [rsp + 0x40]
punpckldq xmm14, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x50], xmm14
movdqu xmm14, xmm4
movdqu xmm4, xmm1
punpckhdq xmm1, xmm3
punpckldq xmm4, xmm3
movdqu xmm3, xmm0
punpckhdq xmm0, xmm7
punpckldq xmm3, xmm7
movdqu xmm7, xmm2
punpckhdq xmm2, xmm10
punpckldq xmm7, xmm10
movdqu xmm10, xmm5
punpckhdq xmm5, xmm8
punpckldq xmm10, xmm8
movdqu xmm8, xmm9
movups xmmword [rsp + 0x60], xmm10
punpckhdq xmm9, xmm13
punpckldq xmm8, xmm13
movdqu xmm13, xmm11
movdqu xmm10, xmm8
movdqu xmm8, xmm11
movdqu xmm11, xmmword [rsp + 0x50]
punpckldq xmm8, xmm6
punpckhdq xmm13, xmm6
movdqu xmm6, xmm13
movdqu xmm13, xmm12
punpckldq xmm13, xmm11
punpckhdq xmm12, xmm11
movdqu xmm11, xmm15
punpckhdq xmm15, xmm14
punpckldq xmm11, xmm14
movdqu xmm14, xmm4
punpckhdq xmm4, xmm10
movups xmmword [rsp + 0x40], xmm15
punpckldq xmm14, xmm10
movdqu xmm10, xmm1
punpckhdq xmm1, xmm9
movdqu xmm15, xmm14
punpckldq xmm10, xmm9
movdqu xmm9, xmm3
punpckhdq xmm3, xmm8
movdqu xmm14, xmm7
punpckldq xmm9, xmm8
movdqu xmm8, xmm0
punpckhdq xmm0, xmm6
movups xmmword [rsp + 0x50], xmm0
punpckldq xmm8, xmm6
movdqu xmm6, xmmword [rsp + 0x60]
punpckldq xmm14, xmm13
movdqu xmm0, xmm5
punpckhdq xmm7, xmm13
movdqu xmm13, xmm2
punpckhdq xmm2, xmm12
punpckldq xmm0, xmmword [rsp + 0x40]
punpckldq xmm13, xmm12
movdqu xmm12, xmm6
punpckhdq xmm6, xmm11
punpckhdq xmm5, xmmword [rsp + 0x40]
punpckldq xmm12, xmm11
movdqu xmm11, xmm0
movdqu xmm0, xmm15
punpckhdq xmm15, xmm14
punpckldq xmm0, xmm14
movdqu xmm14, xmm4
punpckhdq xmm4, xmm7
movups xmmword [rax - 0xd0], xmm4
movdqu xmm4, xmm10
punpckldq xmm14, xmm7
punpckhdq xmm10, xmm13
movups xmmword [rax - 0x100], xmm0
punpckldq xmm4, xmm13
movups xmmword [rax - 0xc0], xmm4
movdqu xmm4, xmm1
punpckhdq xmm1, xmm2
movups xmmword [rax - 0x90], xmm1
movdqu xmm1, xmm9
punpckldq xmm4, xmm2
punpckhdq xmm9, xmm12
punpckldq xmm1, xmm12
movups xmmword [rax - 0xa0], xmm4
movdqu xmm4, xmmword [rsp + 0x50]
movups xmmword [rax - 0x80], xmm1
movdqu xmm1, xmm3
punpckhdq xmm3, xmm6
punpckldq xmm1, xmm6
movups xmmword [rax - 0x60], xmm1
movdqu xmm1, xmm8
punpckhdq xmm8, xmm11
punpckldq xmm1, xmm11
movups xmmword [rax - 0x40], xmm1
movdqu xmm1, xmm4
punpckhdq xmm4, xmm5
punpckldq xmm1, xmm5
movups xmmword [rax - 0xf0], xmm15
movups xmmword [rax - 0xe0], xmm14
movups xmmword [rax - 0xb0], xmm10
movups xmmword [rax - 0x70], xmm9
movups xmmword [rax - 0x50], xmm3
movups xmmword [rax - 0x30], xmm8
movups xmmword [rax - 0x20], xmm1
movups xmmword [rax - 0x10], xmm4
cmp rcx, rax
jne 0x597f88
mov rdx, r13
and rdx, 0xfffffffffffffffc
test r13b, 3
je 0x5986cc
mov rax, rdx
shl rax, 6
mov ecx, dword [r14 + rax]
mov dword [rbp + rax], ecx
mov rcx, rdx
shl rcx, 4
add rcx, 5
mov r8d, dword [r14 + rcx*4]
lea rax, [rcx*4]
mov dword [rbp + rax - 0x10], r8d
mov r8d, dword [r14 + rax + 0x14]
mov dword [rbp + rax - 0xc], r8d
mov r8d, dword [r14 + rax + 0x28]
mov dword [rbp + rax - 8], r8d
mov r8d, dword [r14 + rax - 4]
mov dword [rbp + rax - 4], r8d
mov r8d, dword [r14 + rax + 0x10]
mov dword [rbp + rcx*4], r8d
mov ecx, dword [r14 + rax + 0x24]
mov dword [rbp + rax + 4], ecx
mov ecx, dword [r14 + rax - 8]
mov dword [rbp + rax + 8], ecx
mov ecx, dword [r14 + rax + 0xc]
mov dword [rbp + rax + 0xc], ecx
mov ecx, dword [r14 + rax + 0x20]
mov dword [rbp + rax + 0x10], ecx
mov ecx, dword [r14 + rax - 0xc]
mov dword [rbp + rax + 0x14], ecx
mov ecx, dword [r14 + rax + 8]
mov dword [rbp + rax + 0x18], ecx
mov ecx, dword [r14 + rax + 0x1c]
mov dword [rbp + rax + 0x1c], ecx
mov ecx, dword [r14 + rax - 0x10]
mov dword [rbp + rax + 0x20], ecx
mov ecx, dword [r14 + rax + 4]
mov dword [rbp + rax + 0x24], ecx
mov ecx, dword [r14 + rax + 0x18]
mov dword [rbp + rax + 0x28], ecx
lea rax, [rdx + 1]
cmp rax, r13
jae 0x5986cc
mov rcx, rax
shl rax, 4
add rdx, 2
shl rcx, 6
mov r8d, dword [r14 + rcx]
mov dword [rbp + rcx], r8d
lea rcx, [rax + 5]
mov r8d, dword [r14 + rcx*4]
lea rax, [rcx*4]
mov dword [rbp + rax - 0x10], r8d
mov r8d, dword [r14 + rax + 0x14]
mov dword [rbp + rax - 0xc], r8d
mov r8d, dword [r14 + rax + 0x28]
mov dword [rbp + rax - 8], r8d
mov r8d, dword [r14 + rax - 4]
mov dword [rbp + rax - 4], r8d
mov r8d, dword [r14 + rax + 0x10]
mov dword [rbp + rcx*4], r8d
mov ecx, dword [r14 + rax + 0x24]
mov dword [rbp + rax + 4], ecx
mov ecx, dword [r14 + rax - 8]
mov dword [rbp + rax + 8], ecx
mov ecx, dword [r14 + rax + 0xc]
mov dword [rbp + rax + 0xc], ecx
mov ecx, dword [r14 + rax + 0x20]
mov dword [rbp + rax + 0x10], ecx
mov ecx, dword [r14 + rax - 0xc]
mov dword [rbp + rax + 0x14], ecx
mov ecx, dword [r14 + rax + 8]
mov dword [rbp + rax + 0x18], ecx
mov ecx, dword [r14 + rax + 0x1c]
mov dword [rbp + rax + 0x1c], ecx
mov ecx, dword [r14 + rax - 0x10]
mov dword [rbp + rax + 0x20], ecx
mov ecx, dword [r14 + rax + 4]
mov dword [rbp + rax + 0x24], ecx
mov ecx, dword [r14 + rax + 0x18]
mov dword [rbp + rax + 0x28], ecx
cmp rdx, r13
jae 0x5986cc
mov rax, rdx
shl rdx, 4
shl rax, 6
add rdx, 5
mov ecx, dword [r14 + rax]
mov dword [rbp + rax], ecx
mov ecx, dword [r14 + rdx*4]
lea rax, [rdx*4]
mov dword [rbp + rax - 0x10], ecx
mov ecx, dword [r14 + rax + 0x14]
mov dword [rbp + rax - 0xc], ecx
mov ecx, dword [r14 + rax + 0x28]
mov dword [rbp + rax - 8], ecx
mov ecx, dword [r14 + rax - 4]
mov dword [rbp + rax - 4], ecx
mov ecx, dword [r14 + rax + 0x10]
mov dword [rbp + rdx*4], ecx
mov edx, dword [r14 + rax + 0x24]
mov dword [rbp + rax + 4], edx
mov edx, dword [r14 + rax - 8]
mov dword [rbp + rax + 8], edx
mov edx, dword [r14 + rax + 0xc]
mov dword [rbp + rax + 0xc], edx
mov edx, dword [r14 + rax + 0x20]
mov dword [rbp + rax + 0x10], edx
mov edx, dword [r14 + rax - 0xc]
mov dword [rbp + rax + 0x14], edx
mov edx, dword [r14 + rax + 8]
mov dword [rbp + rax + 0x18], edx
mov edx, dword [r14 + rax + 0x1c]
mov dword [rbp + rax + 0x1c], edx
mov edx, dword [r14 + rax - 0x10]
mov dword [rbp + rax + 0x20], edx
mov edx, dword [r14 + rax + 4]
mov dword [rbp + rax + 0x24], edx
mov edx, dword [r14 + rax + 0x18]
mov dword [rbp + rax + 0x28], edx
cmp dword [r12], 5
je 0x598761
mov rsi, qword [rsp + 0x1f8]
lea rdi, [rbp + 0x80]
shl rsi, 7
add rsi, rbp
nop dword [rax]
movdqu xmm5, xmmword [rdi - 0x80]
mov rcx, rdi
mov rdx, r12
sub rdi, 0xffffffffffffff80
movdqu xmm6, xmmword [rdi - 0xf0]
movdqu xmm7, xmmword [rdi - 0xe0]
movups xmmword [rdi - 0x80], xmm5
movdqu xmm2, xmmword [rdi - 0xd0]
movups xmmword [rdi - 0x70], xmm6
movups xmmword [rdi - 0x60], xmm7
movdqu xmm5, xmmword [rdi - 0xc0]
movups xmmword [rdi - 0x50], xmm2
movdqu xmm6, xmmword [rdi - 0xb0]
movdqu xmm7, xmmword [rdi - 0xa0]
movups xmmword [rdi - 0x40], xmm5
movdqu xmm2, xmmword [rdi - 0x90]
movups xmmword [rdi - 0x30], xmm6
movups xmmword [rdi - 0x20], xmm7
movups xmmword [rdi - 0x10], xmm2
call fcn.00597560
cmp rsi, rdi
jne 0x5986f0
mov eax, dword [rsp + 0x200]
test eax, eax
je 0x5988ed
mov r15, qword [rsp + 0x1f8]
xor esi, esi
mov qword [rsp + 0xb8], r13
mov rdi, qword [rsp + 0x208]
mov qword [rsp + 0x1f0], r14
shl r15, 7
lea rax, [rbp + r15 - 0x40]
mov qword [rsp + 0x50], r15
mov qword [rsp + 0xa0], rax
lea rax, [rbx*4]
mov qword [rsp + 0x80], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x80]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0xb0], rax
lea rax, [rdi + 0x10]
cmp rbp, rax
mov eax, 0
jae 0x598800
cmp qword [rsp + 0x40], rdi
ja 0x599148
nop dword [rax]
movdqu xmm5, xmmword [rbp + rax]
movups xmmword [rdi + rax], xmm5
add rax, 0x10
cmp qword [rsp + 0x80], rax
jne 0x598800
cmp esi, 1
jbe 0x5988a2
mov rax, qword [rsp + 0xa0]
mov edx, esi
mov eax, dword [rax]
nop dword [rax]
lea ecx, [rdx - 1]
mov r8d, edx
and edx, ecx
jne 0x598830
and eax, ecx
mov rbx, qword [rsp + 0x208]
sub eax, r8d
lea edx, [rax + rsi]
mov rax, qword [rsp + 0x208]
imul rdx, qword [rsp + 0x1f8]
shl rdx, 7
add rax, rdx
lea rdx, [rbx + rdx + 0x10]
cmp rbp, rdx
jae 0x598877
cmp rax, qword [rsp + 0x40]
jb 0x599160
xor edx, edx
nop dword [rax]
movdqu xmm0, xmmword [rax + rdx]
movdqu xmm6, xmmword [rbp + rdx]
pxor xmm0, xmm6
movups xmmword [rbp + rdx], xmm0
add rdx, 0x10
cmp rdx, qword [rsp + 0x80]
jne 0x598880
mov rax, qword [r12 + 0x18]
cmp qword [rsp + 0x208], rax
je 0x5991a0
mov r8, qword [rsp + 0x1f8]
mov rdx, r12
mov rcx, rbp
call fcn.00595f90
add rdi, qword [rsp + 0x50]
add esi, 1
cmp dword [rsp + 0x200], esi
jne 0x5987e0
mov r13, qword [rsp + 0xb8]
mov r14, qword [rsp + 0x1f0]
cmp qword [rsp + 0x98], 0x1fe
jbe 0x5996c0
mov rcx, r13
mov rax, r14
mov rdx, rbp
shr rcx, 2
shl rcx, 8
add rcx, r14
nop dword [rax + rax]
movdqu xmm3, xmmword [rdx]
add rax, 0x100
add rdx, 0x100
movdqu xmm6, xmmword [rdx - 0xf0]
movdqu xmm15, xmmword [rdx - 0xe0]
movdqu xmm4, xmm3
movdqu xmm7, xmmword [rdx - 0xc0]
shufps xmm4, xmm6, 0x88
shufps xmm3, xmm6, 0xdd
movdqu xmm14, xmmword [rdx - 0xd0]
movdqu xmm6, xmm15
movdqu xmm13, xmmword [rdx - 0xb0]
shufps xmm6, xmm14, 0x88
movdqu xmm1, xmmword [rdx - 0x80]
shufps xmm15, xmm14, 0xdd
movdqu xmm14, xmm7
movdqu xmm9, xmmword [rdx - 0x60]
shufps xmm14, xmm13, 0x88
shufps xmm7, xmm13, 0xdd
movups xmmword [rsp + 0x50], xmm15
movdqu xmm11, xmmword [rdx - 0xa0]
movdqu xmm15, xmm14
movdqu xmm10, xmmword [rdx - 0x90]
movdqu xmm14, xmm9
movdqu xmm12, xmmword [rdx - 0x70]
movdqu xmm13, xmm11
movdqu xmm8, xmmword [rdx - 0x50]
shufps xmm13, xmm10, 0x88
shufps xmm11, xmm10, 0xdd
movdqu xmm10, xmm1
movdqu xmm0, xmmword [rdx - 0x40]
shufps xmm10, xmm12, 0x88
shufps xmm1, xmm12, 0xdd
movdqu xmm5, xmmword [rdx - 0x30]
shufps xmm9, xmm8, 0xdd
shufps xmm14, xmm8, 0x88
movdqu xmm12, xmm14
movdqu xmm2, xmmword [rdx - 0x20]
movdqu xmm14, xmm0
movdqu xmm8, xmmword [rdx - 0x10]
shufps xmm14, xmm5, 0x88
shufps xmm0, xmm5, 0xdd
movdqu xmm5, xmm2
shufps xmm5, xmm8, 0x88
shufps xmm2, xmm8, 0xdd
movdqu xmm8, xmm4
shufps xmm4, xmm6, 0xdd
shufps xmm8, xmm6, 0x88
movdqu xmm6, xmm15
shufps xmm15, xmm13, 0xdd
movups xmmword [rsp + 0x40], xmm15
shufps xmm6, xmm13, 0x88
movdqu xmm13, xmm10
shufps xmm10, xmm12, 0xdd
shufps xmm13, xmm12, 0x88
movdqu xmm12, xmmword [rsp + 0x50]
movdqu xmm15, xmm13
movdqu xmm13, xmm14
shufps xmm13, xmm5, 0x88
shufps xmm14, xmm5, 0xdd
movdqu xmm5, xmm3
shufps xmm5, xmm12, 0x88
shufps xmm3, xmm12, 0xdd
movdqu xmm12, xmm7
shufps xmm7, xmm11, 0xdd
shufps xmm12, xmm11, 0x88
movdqu xmm11, xmm1
shufps xmm1, xmm9, 0xdd
shufps xmm11, xmm9, 0x88
movdqu xmm9, xmm0
shufps xmm0, xmm2, 0xdd
shufps xmm9, xmm2, 0x88
movdqu xmm2, xmm8
shufps xmm8, xmm6, 0xdd
shufps xmm2, xmm6, 0x88
movdqu xmm6, xmm15
shufps xmm15, xmm13, 0xdd
movups xmmword [rsp + 0x50], xmm15
shufps xmm6, xmm13, 0x88
movdqu xmm13, xmm5
shufps xmm5, xmm12, 0xdd
shufps xmm13, xmm12, 0x88
movdqu xmm12, xmm11
shufps xmm11, xmm9, 0xdd
movdqu xmm15, xmm13
shufps xmm12, xmm9, 0x88
movdqu xmm9, xmmword [rsp + 0x40]
movdqu xmm13, xmm4
shufps xmm13, xmm9, 0x88
shufps xmm4, xmm9, 0xdd
movdqu xmm9, xmm10
shufps xmm10, xmm14, 0xdd
shufps xmm9, xmm14, 0x88
movdqu xmm14, xmm3
shufps xmm3, xmm7, 0xdd
shufps xmm14, xmm7, 0x88
movdqu xmm7, xmm1
shufps xmm1, xmm0, 0xdd
shufps xmm7, xmm0, 0x88
movdqu xmm0, xmm2
shufps xmm2, xmm6, 0xdd
shufps xmm0, xmm6, 0x88
movdqu xmm6, xmm15
shufps xmm15, xmm12, 0xdd
shufps xmm6, xmm12, 0x88
movdqu xmm12, xmm13
shufps xmm13, xmm9, 0xdd
shufps xmm12, xmm9, 0x88
movdqu xmm9, xmm14
shufps xmm14, xmm7, 0xdd
shufps xmm9, xmm7, 0x88
movups xmmword [rsp + 0x40], xmm9
movdqu xmm7, xmm8
movdqu xmm9, xmmword [rsp + 0x50]
shufps xmm8, xmm9, 0xdd
shufps xmm7, xmm9, 0x88
movdqu xmm9, xmm5
shufps xmm5, xmm11, 0xdd
shufps xmm9, xmm11, 0x88
movdqu xmm11, xmm4
shufps xmm4, xmm10, 0xdd
shufps xmm11, xmm10, 0x88
movdqu xmm10, xmm3
shufps xmm3, xmm1, 0xdd
shufps xmm10, xmm1, 0x88
movdqu xmm1, xmm0
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
movdqu xmm2, xmm5
punpckhdq xmm5, xmm9
punpckldq xmm2, xmm9
movdqu xmm9, xmm13
punpckhdq xmm13, xmm12
punpckldq xmm9, xmm12
movdqu xmm12, xmm10
punpckhdq xmm10, xmm3
movups xmmword [rsp + 0x60], xmm10
punpckldq xmm12, xmm3
movdqu xmm3, xmm7
punpckhdq xmm7, xmm8
punpckldq xmm3, xmm8
movdqu xmm8, xmm6
punpckhdq xmm6, xmm15
movdqu xmm10, xmm6
movdqu xmm6, xmm4
punpckldq xmm8, xmm15
movups xmmword [rsp + 0x50], xmm8
movdqu xmm15, xmmword [rsp + 0x50]
punpckldq xmm6, xmm11
movdqu xmm8, xmm6
movdqu xmm6, xmm4
movdqu xmm4, xmmword [rsp + 0x40]
punpckhdq xmm6, xmm11
movdqu xmm11, xmm14
punpckldq xmm11, xmm4
punpckhdq xmm14, xmm4
movdqu xmm4, xmm1
punpckhdq xmm1, xmm3
punpckldq xmm4, xmm3
movdqu xmm3, xmm0
punpckhdq xmm0, xmm7
punpckldq xmm3, xmm7
movdqu xmm7, xmm2
punpckhdq xmm2, xmm15
punpckldq xmm7, xmm15
movdqu xmm15, xmm5
punpckhdq xmm5, xmm10
movups xmmword [rsp + 0x50], xmm5
movdqu xmm5, xmm9
punpckldq xmm15, xmm10
punpckhdq xmm9, xmm8
punpckldq xmm5, xmm8
movdqu xmm8, xmm13
movdqu xmm10, xmm5
movdqu xmm5, xmmword [rsp + 0x60]
punpckldq xmm8, xmm6
punpckhdq xmm13, xmm6
movdqu xmm6, xmm13
movdqu xmm13, xmm12
punpckldq xmm13, xmm11
punpckhdq xmm12, xmm11
movdqu xmm11, xmm5
punpckhdq xmm5, xmm14
punpckldq xmm11, xmm14
movdqu xmm14, xmm4
punpckhdq xmm4, xmm10
punpckldq xmm14, xmm10
movdqu xmm10, xmm1
punpckhdq xmm1, xmm9
punpckldq xmm10, xmm9
movdqu xmm9, xmm3
punpckhdq xmm3, xmm8
punpckldq xmm9, xmm8
movdqu xmm8, xmm0
punpckhdq xmm0, xmm6
movups xmmword [rsp + 0x60], xmm0
punpckldq xmm8, xmm6
movdqu xmm6, xmm7
movdqu xmm0, xmmword [rsp + 0x50]
punpckhdq xmm7, xmm13
punpckldq xmm6, xmm13
movdqu xmm13, xmm2
movups xmmword [rsp + 0x40], xmm6
punpckhdq xmm2, xmm12
punpckldq xmm13, xmm12
movdqu xmm6, xmm15
movdqu xmm12, xmm15
movdqu xmm15, xmm5
punpckhdq xmm6, xmm11
punpckldq xmm12, xmm11
movdqu xmm11, xmm0
punpckldq xmm11, xmm5
movdqu xmm5, xmm0
movdqu xmm0, xmm14
punpckldq xmm0, xmmword [rsp + 0x40]
punpckhdq xmm14, xmmword [rsp + 0x40]
movups xmmword [rax - 0xf0], xmm14
movdqu xmm14, xmm4
punpckhdq xmm4, xmm7
movups xmmword [rax - 0xd0], xmm4
movdqu xmm4, xmm10
punpckhdq xmm5, xmm15
punpckldq xmm14, xmm7
punpckldq xmm4, xmm13
movups xmmword [rax - 0xc0], xmm4
movdqu xmm4, xmm1
punpckhdq xmm1, xmm2
movups xmmword [rax - 0x90], xmm1
movdqu xmm1, xmm9
punpckhdq xmm10, xmm13
punpckldq xmm4, xmm2
punpckldq xmm1, xmm12
movups xmmword [rax - 0x80], xmm1
movdqu xmm1, xmm3
punpckhdq xmm3, xmm6
punpckldq xmm1, xmm6
movdqu xmm6, xmmword [rsp + 0x60]
movups xmmword [rax - 0x60], xmm1
movdqu xmm1, xmm8
punpckldq xmm1, xmm11
movups xmmword [rax - 0x40], xmm1
punpckhdq xmm9, xmm12
punpckhdq xmm8, xmm11
movdqu xmm1, xmm6
punpckhdq xmm6, xmm5
movups xmmword [rax - 0x100], xmm0
punpckldq xmm1, xmm5
movups xmmword [rax - 0xe0], xmm14
movups xmmword [rax - 0xb0], xmm10
movups xmmword [rax - 0xa0], xmm4
movups xmmword [rax - 0x70], xmm9
movups xmmword [rax - 0x50], xmm3
movups xmmword [rax - 0x30], xmm8
movups xmmword [rax - 0x20], xmm1
movups xmmword [rax - 0x10], xmm6
cmp rax, rcx
jne 0x598918
mov rdx, r13
and rdx, 0xfffffffffffffffc
test r13b, 3
je 0x59906a
mov rax, rdx
shl rax, 6
mov ecx, dword [rbp + rax]
mov dword [r14 + rax], ecx
mov rcx, rdx
shl rcx, 4
add rcx, 1
mov r8d, dword [rbp + rcx*4]
lea rax, [rcx*4]
mov dword [r14 + rax + 0x10], r8d
mov r8d, dword [rbp + rax + 4]
mov dword [r14 + rax + 0x24], r8d
mov r8d, dword [rbp + rax + 8]
mov dword [r14 + rax + 0x38], r8d
mov r8d, dword [rbp + rax + 0xc]
mov dword [r14 + rax + 0xc], r8d
mov r8d, dword [rbp + rax + 0x10]
mov dword [r14 + rax + 0x20], r8d
mov r8d, dword [rbp + rax + 0x14]
mov dword [r14 + rax + 0x34], r8d
mov r8d, dword [rbp + rax + 0x18]
mov dword [r14 + rax + 8], r8d
mov r8d, dword [rbp + rax + 0x1c]
mov dword [r14 + rax + 0x1c], r8d
mov r8d, dword [rbp + rax + 0x20]
mov dword [r14 + rax + 0x30], r8d
mov r8d, dword [rbp + rax + 0x24]
mov dword [r14 + rax + 4], r8d
mov r8d, dword [rbp + rax + 0x28]
mov dword [r14 + rax + 0x18], r8d
mov r8d, dword [rbp + rax + 0x2c]
mov dword [r14 + rax + 0x2c], r8d
mov r8d, dword [rbp + rax + 0x30]
mov dword [r14 + rcx*4], r8d
mov ecx, dword [rbp + rax + 0x34]
mov dword [r14 + rax + 0x14], ecx
mov ecx, dword [rbp + rax + 0x38]
mov dword [r14 + rax + 0x28], ecx
lea rax, [rdx + 1]
cmp rax, r13
jae 0x59906a
mov rcx, rax
shl rax, 4
add rdx, 2
shl rcx, 6
mov r8d, dword [rbp + rcx]
mov dword [r14 + rcx], r8d
lea rcx, [rax + 1]
mov r8d, dword [rbp + rcx*4]
lea rax, [rcx*4]
mov dword [r14 + rax + 0x10], r8d
mov r8d, dword [rbp + rax + 4]
mov dword [r14 + rax + 0x24], r8d
mov r8d, dword [rbp + rax + 8]
mov dword [r14 + rax + 0x38], r8d
mov r8d, dword [rbp + rax + 0xc]
mov dword [r14 + rax + 0xc], r8d
mov r8d, dword [rbp + rax + 0x10]
mov dword [r14 + rax + 0x20], r8d
mov r8d, dword [rbp + rax + 0x14]
mov dword [r14 + rax + 0x34], r8d
mov r8d, dword [rbp + rax + 0x18]
mov dword [r14 + rax + 8], r8d
mov r8d, dword [rbp + rax + 0x1c]
mov dword [r14 + rax + 0x1c], r8d
mov r8d, dword [rbp + rax + 0x20]
mov dword [r14 + rax + 0x30], r8d
mov r8d, dword [rbp + rax + 0x24]
mov dword [r14 + rax + 4], r8d
mov r8d, dword [rbp + rax + 0x28]
mov dword [r14 + rax + 0x18], r8d
mov r8d, dword [rbp + rax + 0x2c]
mov dword [r14 + rax + 0x2c], r8d
mov r8d, dword [rbp + rax + 0x30]
mov dword [r14 + rcx*4], r8d
mov ecx, dword [rbp + rax + 0x34]
mov dword [r14 + rax + 0x14], ecx
mov ecx, dword [rbp + rax + 0x38]
mov dword [r14 + rax + 0x28], ecx
cmp r13, rdx
jbe 0x59906a
mov rax, rdx
shl rdx, 4
shl rax, 6
add rdx, 1
mov ecx, dword [rbp + rax]
mov dword [r14 + rax], ecx
mov ecx, dword [rbp + rdx*4]
lea rax, [rdx*4]
mov dword [r14 + rax + 0x10], ecx
mov ecx, dword [rbp + rax + 4]
mov dword [r14 + rax + 0x24], ecx
mov ecx, dword [rbp + rax + 8]
mov dword [r14 + rax + 0x38], ecx
mov ecx, dword [rbp + rax + 0xc]
mov dword [r14 + rax + 0xc], ecx
mov ecx, dword [rbp + rax + 0x10]
mov dword [r14 + rax + 0x20], ecx
mov ecx, dword [rbp + rax + 0x14]
mov dword [r14 + rax + 0x34], ecx
mov ecx, dword [rbp + rax + 0x18]
mov dword [r14 + rax + 8], ecx
mov ecx, dword [rbp + rax + 0x1c]
mov dword [r14 + rax + 0x1c], ecx
mov ecx, dword [rbp + rax + 0x20]
mov dword [r14 + rax + 0x30], ecx
mov ecx, dword [rbp + rax + 0x24]
mov dword [r14 + rax + 4], ecx
mov ecx, dword [rbp + rax + 0x28]
mov dword [r14 + rax + 0x18], ecx
mov ecx, dword [rbp + rax + 0x2c]
mov dword [r14 + rax + 0x2c], ecx
mov ecx, dword [rbp + rax + 0x30]
mov dword [r14 + rdx*4], ecx
mov edx, dword [rbp + rax + 0x34]
mov dword [r14 + rax + 0x14], edx
mov edx, dword [rbp + rax + 0x38]
mov dword [r14 + rax + 0x28], edx
mov rax, qword [rsp + 0x208]
mov rcx, r14
mov qword [rsp + 0x30], r12
mov r9d, dword [rsp + 0x8c]
mov qword [rsp + 0x28], rbp
mov r8d, dword [rsp + 0x200]
mov rdx, qword [rsp + 0x1f8]
mov qword [rsp + 0x20], rax
call fcn.005962f0
mov rax, qword [rsp + 0x208]
mov rcx, r14
mov qword [rsp + 0x30], r12
mov r9d, dword [rsp + 0x94]
mov qword [rsp + 0x28], rbp
mov r8d, dword [rsp + 0x200]
mov rdx, qword [rsp + 0x1f8]
mov qword [rsp + 0x20], rax
call fcn.005962f0
nop
movups xmm6, xmmword [rsp + 0x100]
movups xmm7, xmmword [rsp + 0x110]
movups xmm8, xmmword [rsp + 0x120]
movups xmm9, xmmword [rsp + 0x130]
movups xmm10, xmmword [rsp + 0x140]
movups xmm11, xmmword [rsp + 0x150]
movups xmm12, xmmword [rsp + 0x160]
movups xmm13, xmmword [rsp + 0x170]
movups xmm14, xmmword [rsp + 0x180]
movups xmm15, xmmword [rsp + 0x190]
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, dword [rbp + rax]
mov dword [rdi + rax], edx
add rax, 4
cmp rax, qword [rsp + 0x50]
jne 0x599148
jmp 0x598818
mov rbx, qword [rsp + 0x50]
mov rdx, rbp
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 0x599170
mov rax, qword [r12 + 0x18]
cmp qword [rsp + 0x208], rax
jne 0x5988b5
nop word cs:[rax + rax]
mov eax, dword [r12 + 4]
mov ebx, dword [rbp + 0x78]
mov r8d, dword [rbp + 0x44]
mov r15d, dword [rbp + 0x4c]
mov dword [rsp + 0x90], eax
mov eax, dword [rbp + 0x40]
mov r14d, dword [rbp + 0x54]
mov dword [rsp + 0x88], ebx
mov rbx, rbp
mov r10d, dword [rbp + 0x58]
mov r13d, dword [rbp + 0x5c]
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x48]
mov ecx, dword [rbp + 0x64]
mov r9d, dword [rbp + 0x68]
mov edx, dword [rbp + 0x6c]
mov dword [rsp + 0x70], eax
mov eax, dword [rbp + 0x50]
mov r11d, dword [rbp + 0x7c]
mov dword [rsp + 0x74], eax
mov eax, dword [rbp + 0x60]
mov dword [rsp + 0x78], eax
mov eax, dword [rbp + 0x70]
mov dword [rsp + 0x7c], eax
mov eax, dword [rbp + 0x74]
movd xmm2, dword [rsp + 0x74]
movd xmm0, r10d
add rbx, 0x40
movd xmm1, dword [rsp + 0x78]
pinsrd xmm0, r13d, 1
pinsrd xmm2, r14d, 1
punpcklqdq xmm2, xmm0
movd xmm0, r9d
movdqu xmm4, xmmword [rbx - 0x30]
pinsrd xmm0, edx, 1
pinsrd xmm1, ecx, 1
punpcklqdq xmm1, xmm0
mov edx, dword [rsp + 0x90]
mov rcx, qword [rsp + 0xb0]
pxor xmm2, xmm4
movups xmmword [rsp + 0xd0], xmm2
movd xmm3, dword [rsp + 0x88]
movd xmm0, dword [rsp + 0x7c]
pinsrd xmm3, r11d, 1
movdqu xmm7, xmmword [rbx - 0x20]
pinsrd xmm0, eax, 1
movdqu xmm5, xmmword [rbx - 0x10]
punpcklqdq xmm0, xmm3
movdqu xmm6, xmmword [rbx - 0x40]
pxor xmm1, xmm7
movups xmmword [rsp + 0xe0], xmm1
movd xmm4, dword [rsp + 0x70]
pxor xmm0, xmm5
movups xmmword [rsp + 0xf0], xmm0
movd xmm3, dword [rsp + 0x60]
pinsrd xmm4, r15d, 1
pinsrd xmm3, r8d, 1
punpcklqdq xmm3, xmm4
pxor xmm3, xmm6
movups xmmword [rsp + 0xc0], xmm3
call fcn.00595870
mov eax, dword [rsp + 0xc0]
mov r11d, dword [rsp + 0xf8]
movdqu xmm2, xmmword [rsp + 0xc0]
movdqu xmm4, xmmword [rsp + 0xd0]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0xc8]
movups xmmword [rbx - 0x40], xmm2
mov r8d, dword [rsp + 0xc4]
movdqu xmm7, xmmword [rsp + 0xe0]
mov dword [rsp + 0x88], r11d
movdqu xmm2, xmmword [rsp + 0xf0]
movups xmmword [rbx - 0x30], xmm4
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0xd0]
movups xmmword [rbx - 0x20], xmm7
mov r15d, dword [rsp + 0xcc]
movups xmmword [rbx - 0x10], xmm2
mov r14d, dword [rsp + 0xd4]
mov r10d, dword [rsp + 0xd8]
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0xe0]
mov r13d, dword [rsp + 0xdc]
mov ecx, dword [rsp + 0xe4]
mov r9d, dword [rsp + 0xe8]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0xf0]
mov edx, dword [rsp + 0xec]
mov r11d, dword [rsp + 0xfc]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0xf4]
cmp qword [rsp + 0xa8], rbx
jne 0x599201
jmp 0x5988c8
xor eax, eax
nop word [rax + rax]
mov edx, dword [rbp + rax]
mov dword [r13 + rax], edx
add rax, 4
cmp rax, 0x80
jne 0x5993b8
jmp 0x597a7d
mov eax, dword [r12 + 4]
mov ebx, dword [rbp + 0x70]
mov ecx, dword [rbp + 0x44]
mov r15d, dword [rbp + 0x4c]
mov dword [rsp + 0x90], eax
mov eax, dword [rbp + 0x40]
mov dword [rsp + 0x70], ebx
mov ebx, dword [rbp + 0x78]
mov r14d, dword [rbp + 0x54]
mov r9d, dword [rbp + 0x58]
mov dword [rsp + 0x88], eax
mov eax, dword [rbp + 0x48]
mov r13d, dword [rbp + 0x5c]
mov dword [rsp + 0x60], ebx
mov rbx, rbp
mov edx, dword [rbp + 0x64]
mov r8d, dword [rbp + 0x68]
mov dword [rsp + 0x7c], eax
mov eax, dword [rbp + 0x50]
mov r11d, dword [rbp + 0x74]
mov r10d, dword [rbp + 0x7c]
mov dword [rsp + 0x78], eax
mov eax, dword [rbp + 0x60]
mov dword [rsp + 0x74], eax
mov eax, dword [rbp + 0x6c]
movd xmm2, dword [rsp + 0x78]
movd xmm0, r9d
add rbx, 0x40
movd xmm1, dword [rsp + 0x74]
pinsrd xmm0, r13d, 1
pinsrd xmm2, r14d, 1
punpcklqdq xmm2, xmm0
movd xmm0, r8d
movd xmm3, dword [rsp + 0x60]
pinsrd xmm0, eax, 1
pinsrd xmm1, edx, 1
punpcklqdq xmm1, xmm0
movd xmm0, dword [rsp + 0x70]
pinsrd xmm3, r10d, 1
movdqu xmm5, xmmword [rbx - 0x30]
pinsrd xmm0, r11d, 1
punpcklqdq xmm0, xmm3
movdqu xmm7, xmmword [rbx - 0x20]
movd xmm3, dword [rsp + 0x88]
pxor xmm2, xmm5
movups xmmword [rsp + 0xd0], xmm2
mov edx, dword [rsp + 0x90]
pxor xmm1, xmm7
movups xmmword [rsp + 0xe0], xmm1
pinsrd xmm3, ecx, 1
mov rcx, qword [rsp + 0xa0]
movdqu xmm5, xmmword [rbx - 0x10]
movdqu xmm6, xmmword [rbx - 0x40]
movd xmm4, dword [rsp + 0x7c]
pxor xmm0, xmm5
movups xmmword [rsp + 0xf0], xmm0
pinsrd xmm4, r15d, 1
punpcklqdq xmm3, xmm4
pxor xmm3, xmm6
movups xmmword [rsp + 0xc0], xmm3
call fcn.00595870
mov eax, dword [rsp + 0xc0]
movdqu xmm2, xmmword [rsp + 0xc0]
mov r11d, dword [rsp + 0xf0]
mov r10d, dword [rsp + 0xf8]
movups xmmword [rbx - 0x40], xmm2
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0xc8]
movdqu xmm2, xmmword [rsp + 0xd0]
movdqu xmm7, xmmword [rsp + 0xe0]
mov dword [rsp + 0x70], r11d
movups xmmword [rbx - 0x30], xmm2
mov ecx, dword [rsp + 0xc4]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0xd0]
movdqu xmm2, xmmword [rsp + 0xf0]
mov dword [rsp + 0x60], r10d
movups xmmword [rbx - 0x20], xmm7
mov r15d, dword [rsp + 0xcc]
movups xmmword [rbx - 0x10], xmm2
mov r14d, dword [rsp + 0xd4]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0xe0]
mov r9d, dword [rsp + 0xd8]
mov r13d, dword [rsp + 0xdc]
mov edx, dword [rsp + 0xe4]
mov dword [rsp + 0x74], eax
mov r8d, dword [rsp + 0xe8]
mov eax, dword [rsp + 0xec]
mov r11d, dword [rsp + 0xf4]
mov r10d, dword [rsp + 0xfc]
cmp rbx, qword [rsp + 0x98]
jne 0x599439
jmp 0x597e3c
xor eax, eax
nop word [rax + rax]
mov edx, dword [rbp + rax]
mov dword [rsi + rax], edx
add rax, 4
cmp rax, 0x80
jne 0x5995f8
jmp 0x597d5b
xor eax, eax
nop word [rax + rax]
mov ecx, dword [rdx + rax]
xor dword [rbp + rax], ecx
add rax, 4
cmp rax, 0x80
jne 0x599618
jmp 0x597e21
mov r8, qword [rsp + 0x1f8]
mov rax, r14
mov rdx, rbp
shl r8, 7
add r8, r14
nop dword [rax]
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 0x599648
jmp 0x5986cc
mov r8, qword [rsp + 0x1f8]
mov rax, rbp
mov rdx, r14
shl r8, 7
add r8, rbp
nop dword [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 0x5996d8
jmp 0x59906a