Function at 0x1800281b0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x570
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
lea rbp, [rsp + 0x40]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x18007d1d8]
xor rax, rsp
mov qword [rbp + 0x480], rax
mov qword [rbp + 0x40], rcx
mov rdi, r9
mov r11, rdx
mov rbx, rcx
test r9, r9
je 0x180029dfa
cmp r9, 0x200
jb 0x180028bf3
vbroadcastss ymm0, dword [rcx + 0x24]
vbroadcastss ymm4, dword [rcx]
vbroadcastss ymm6, dword [rcx + 0x14]
vbroadcastss ymm7, dword [rcx + 0x28]
vbroadcastss ymm5, dword [rcx + 0x3c]
vbroadcastss ymm12, dword [rcx + 0x30]
vbroadcastss ymm8, dword [rcx + 4]
vbroadcastss ymm9, dword [rcx + 0x18]
vbroadcastss ymm13, dword [rcx + 0x2c]
vbroadcastss ymm11, dword [rcx + 8]
vbroadcastss ymm14, dword [rcx + 0x1c]
vbroadcastss ymm15, dword [rcx + 0x10]
vmovdqu ymm10, ymmword [0x18005df60]
vmovdqu ymm2, ymmword [0x18005df20]
vmovdqu ymm3, ymmword [0x18005df40]
lea rax, [r8 + 0x1c0]
mov qword [rbp + 0x10], rax
lea r12, [rdx + 0x1c0]
lea rax, [r8 + 0x180]
mov qword [rbp], rax
lea r15, [rdx + 0x180]
lea rax, [r8 + 0x140]
mov qword [rbp + 0x20], rax
lea r14, [rdx + 0x140]
lea rax, [r8 + 0x100]
mov qword [rbp + 0x60], rax
lea rsi, [rdx + 0x100]
lea rax, [r8 + 0xc0]
mov qword [rbp + 0x50], rax
lea r10, [rdx + 0xc0]
lea rax, [r8 + 0x80]
mov qword [rbp + 0x80], rax
lea r9, [rdx + 0x80]
mov rax, rdi
lea r13, [r8 + 0x40]
shr rax, 9
add rdx, 0x40
vmovdqu ymmword [rbp + 0x1c0], ymm0
vbroadcastss ymm0, dword [rcx + 0x38]
mov qword [rbp + 0x70], rax
imul rax, rax, 0xfffffffffffffe00
vmovdqu ymmword [rbp + 0x1a0], ymm0
vbroadcastss ymm0, dword [rcx + 0xc]
add rdi, rax
mov qword [rbp + 0x30], rdi
mov rdi, qword [rbp + 0x80]
vmovdqu ymmword [rbp + 0x160], ymm4
vmovdqu ymmword [rbp + 0x140], ymm6
vmovdqu ymmword [rbp + 0x120], ymm7
vmovdqu ymmword [rbp + 0x100], ymm5
vmovdqu ymmword [rbp + 0xe0], ymm12
vmovdqu ymmword [rbp + 0x300], ymm8
vmovdqu ymmword [rbp + 0x320], ymm9
vmovdqu ymmword [rbp + 0x340], ymm13
vmovdqu ymmword [rbp + 0x360], ymm11
vmovdqu ymmword [rbp + 0x380], ymm14
vmovdqu ymmword [rbp + 0x3a0], ymm15
vmovdqu ymmword [rbp + 0x180], ymm0
nop word [rax + rax]
mov eax, dword [rbx + 0x20]
mov ecx, dword [rbx + 0x34]
shl rcx, 0x20
or rcx, rax
mov eax, 0xa
vmovdqu ymmword [rbp + 0x2a0], ymm5
vmovdqu ymm5, ymm14
vmovdqu ymmword [rbp + 0x280], ymm13
vmovq xmm0, rcx
add rcx, 8
vpbroadcastq ymm1, xmm0
vpaddq ymm0, ymm3, ymm1
vpaddq ymm2, ymm2, ymm1
vpunpckldq ymm3, ymm2, ymm0
vpunpckhdq ymm1, ymm2, ymm0
vpunpckldq ymm0, ymm3, ymm1
vpermd ymm2, ymm10, ymm0
vmovdqu ymm0, ymmword [rbp + 0x1a0]
vpunpckhdq ymm1, ymm3, ymm1
vpermd ymm3, ymm10, ymm1
vmovdqu ymm1, ymmword [rbp + 0x180]
mov dword [rbx + 0x20], ecx
shr rcx, 0x20
vmovdqu ymm10, ymm8
vmovdqu ymmword [rbp + 0x2c0], ymm1
vmovdqu ymm8, ymm9
vmovdqu ymm9, ymmword [rbp + 0x1c0]
vmovdqu ymmword [rbp + 0xc0], ymm7
vmovdqu ymm1, ymm12
vmovdqu ymmword [rbp + 0x3c0], ymm2
vmovdqu ymmword [rbp + 0x400], ymm3
mov dword [rbx + 0x34], ecx
vmovdqu ymmword [rbp + 0x240], ymm0
vmovdqu ymmword [rbp + 0x260], ymm5
vmovdqu ymm14, ymm4
vmovdqu ymm7, ymm15
vmovdqu ymm13, ymm2
jmp 0x1800284a0
vmovdqu ymm6, ymmword [rbp + 0x2e0]
vmovdqu ymm14, ymmword [rbp + 0x220]
vpaddd ymm0, ymm7, ymm14
vpsrld ymm2, ymm0, 0x19
vpslld ymm0, ymm0, 7
vpxor ymm1, ymm0, ymm1
vpxor ymm12, ymm1, ymm2
vpaddd ymm0, ymm6, ymm10
vpsrld ymm2, ymm0, 0x19
vpslld ymm0, ymm0, 7
vpxor ymm1, ymm0, ymm3
vpxor ymm4, ymm1, ymm2
vpaddd ymm0, ymm12, ymm14
vpsrld ymm2, ymm0, 0x17
vpslld ymm0, ymm0, 9
vpxor ymm1, ymm0, ymm13
vpxor ymm15, ymm1, ymm2
vpaddd ymm0, ymm4, ymm10
vpsrld ymm2, ymm0, 0x17
vpslld ymm0, ymm0, 9
vpxor ymm1, ymm0, ymm9
vpxor ymm3, ymm1, ymm2
vpaddd ymm0, ymm15, ymm12
vpsrld ymm2, ymm0, 0x13
vpslld ymm0, ymm0, 0xd
vpxor ymm1, ymm0, ymm7
vpxor ymm13, ymm1, ymm2
vpaddd ymm0, ymm4, ymm3
vpsrld ymm2, ymm0, 0x13
vpslld ymm0, ymm0, 0xd
vpxor ymm1, ymm0, ymm6
vpxor ymm6, ymm1, ymm2
vpaddd ymm0, ymm15, ymm13
vpsrld ymm2, ymm0, 0xe
vpslld ymm0, ymm0, 0x12
vpxor ymm1, ymm0, ymm14
vpxor ymm9, ymm1, ymm2
vpaddd ymm0, ymm3, ymm6
vpsrld ymm2, ymm0, 0xe
vpslld ymm0, ymm0, 0x12
vpxor ymm1, ymm0, ymm10
vpxor ymm10, ymm1, ymm2
vpaddd ymm0, ymm8, ymm11
vpsrld ymm2, ymm0, 0x19
vpslld ymm0, ymm0, 7
vpxor ymm1, ymm0, ymmword [rbp + 0x240]
vpaddd ymm0, ymm5, ymmword [rbp + 0x2c0]
vpxor ymm14, ymm1, ymm2
vpsrld ymm2, ymm0, 0x19
vpslld ymm0, ymm0, 7
vpxor ymm1, ymm0, ymmword [rbp + 0x2a0]
vpxor ymm7, ymm1, ymm2
vpaddd ymm0, ymm14, ymm11
vpsrld ymm2, ymm0, 0x17
vpslld ymm0, ymm0, 9
vpxor ymm1, ymm0, ymmword [rbp + 0xc0]
vpaddd ymm0, ymm7, ymmword [rbp + 0x2c0]
vmovdqu ymmword [rbp + 0xa0], ymm4
vpxor ymm4, ymm1, ymm2
vpsrld ymm2, ymm0, 0x17
vpslld ymm0, ymm0, 9
vpxor ymm1, ymm0, ymmword [rbp + 0x280]
vpxor ymm5, ymm1, ymm2
vpaddd ymm0, ymm14, ymm4
vpsrld ymm2, ymm0, 0x13
vpslld ymm0, ymm0, 0xd
vpxor ymm1, ymm0, ymm8
vpaddd ymm0, ymm7, ymm5
vmovdqu ymmword [rbp + 0x80], ymm3
vpxor ymm3, ymm1, ymm2
vpsrld ymm2, ymm0, 0x13
vpslld ymm0, ymm0, 0xd
vpxor ymm1, ymm0, ymmword [rbp + 0x260]
vpxor ymm8, ymm1, ymm2
vpaddd ymm0, ymm4, ymm3
vpsrld ymm2, ymm0, 0xe
vpslld ymm0, ymm0, 0x12
vpxor ymm1, ymm0, ymm11
vpaddd ymm0, ymm7, ymm9
vpxor ymm11, ymm1, ymm2
vpsrld ymm2, ymm0, 0x19
vpslld ymm0, ymm0, 7
vpxor ymm1, ymm0, ymm6
vpxor ymm0, ymm1, ymm2
vmovdqu ymmword [rbp + 0x2e0], ymm0
vpaddd ymm0, ymm5, ymm8
vpsrld ymm2, ymm0, 0xe
vpslld ymm0, ymm0, 0x12
vpxor ymm1, ymm0, ymmword [rbp + 0x2c0]
vpxor ymm6, ymm1, ymm2
vpaddd ymm0, ymm12, ymm10
vpsrld ymm2, ymm0, 0x19
vpslld ymm0, ymm0, 7
vpxor ymm1, ymm0, ymm3
vpaddd ymm0, ymm9, ymmword [rbp + 0x2e0]
vpxor ymm3, ymm1, ymm2
vpsrld ymm2, ymm0, 0x17
vpslld ymm0, ymm0, 9
vpxor ymm1, ymm0, ymm4
vmovdqu ymm4, ymmword [rbp + 0x2e0]
vpxor ymm0, ymm1, ymm2
vmovdqu ymmword [rbp + 0xc0], ymm0
vpaddd ymm0, ymm3, ymm10
vpsrld ymm2, ymm0, 0x17
vpslld ymm0, ymm0, 9
vpxor ymm1, ymm0, ymm5
vpaddd ymm0, ymm4, ymmword [rbp + 0xc0]
vpxor ymm5, ymm1, ymm2
vpsrld ymm2, ymm0, 0x13
vpslld ymm0, ymm0, 0xd
vpxor ymm1, ymm0, ymm7
vpxor ymm7, ymm1, ymm2
vpaddd ymm0, ymm5, ymm3
vpsrld ymm2, ymm0, 0x13
vpslld ymm0, ymm0, 0xd
vpxor ymm1, ymm0, ymm12
vmovdqu ymm12, ymmword [rbp + 0xc0]
vpaddd ymm0, ymm7, ymm12
vmovdqu ymmword [rbp + 0x1e0], ymm3
vpxor ymm3, ymm1, ymm2
vpsrld ymm2, ymm0, 0xe
vpslld ymm0, ymm0, 0x12
vpxor ymm1, ymm0, ymm9
vpxor ymm0, ymm1, ymm2
vmovdqu ymmword [rbp + 0x220], ymm0
vpaddd ymm0, ymm3, ymm5
vpsrld ymm2, ymm0, 0xe
vpslld ymm0, ymm0, 0x12
vpxor ymm1, ymm0, ymm10
vpaddd ymm0, ymm11, ymmword [rbp + 0xa0]
vpxor ymm10, ymm1, ymm2
vpsrld ymm2, ymm0, 0x19
vpslld ymm0, ymm0, 7
vpxor ymm1, ymm0, ymm8
vpaddd ymm0, ymm14, ymm6
vmovdqu ymmword [rbp + 0x280], ymm5
vpxor ymm5, ymm1, ymm2
vpsrld ymm2, ymm0, 0x19
vpslld ymm0, ymm0, 7
vpxor ymm1, ymm0, ymm13
vpaddd ymm0, ymm5, ymm11
vmovdqu ymmword [rbp + 0x2a0], ymm7
vpxor ymm7, ymm1, ymm2
vpsrld ymm2, ymm0, 0x17
vpslld ymm0, ymm0, 9
vpxor ymm1, ymm0, ymm15
vpxor ymm13, ymm1, ymm2
vpaddd ymm0, ymm7, ymm6
vpsrld ymm2, ymm0, 0x17
vpslld ymm0, ymm0, 9
vpxor ymm1, ymm0, ymmword [rbp + 0x80]
vpxor ymm9, ymm1, ymm2
vpaddd ymm0, ymm13, ymm5
vpsrld ymm2, ymm0, 0x13
vpslld ymm0, ymm0, 0xd
vpxor ymm1, ymm0, ymmword [rbp + 0xa0]
vpxor ymm8, ymm1, ymm2
vmovdqu ymmword [rbp + 0xa0], ymm8
vmovdqu ymmword [rbp + 0x200], ymm3
vmovdqu ymmword [rbp + 0x260], ymm5
vmovdqu ymmword [rbp + 0x420], ymm7
vmovdqu ymmword [rbp + 0x3e0], ymm13
vmovdqu ymmword [rbp + 0x440], ymm9
vpaddd ymm0, ymm9, ymm7
vpsrld ymm2, ymm0, 0x13
vpslld ymm0, ymm0, 0xd
vpxor ymm1, ymm0, ymm14
vpxor ymm3, ymm1, ymm2
vpaddd ymm0, ymm8, ymm13
vmovdqu ymm8, ymmword [rbp + 0x1e0]
vpsrld ymm2, ymm0, 0xe
vpslld ymm0, ymm0, 0x12
vpxor ymm1, ymm0, ymm11
vpxor ymm11, ymm1, ymm2
vpaddd ymm0, ymm3, ymm9
vpsrld ymm2, ymm0, 0xe
vpslld ymm0, ymm0, 0x12
vpxor ymm1, ymm0, ymm6
vpxor ymm15, ymm1, ymm2
vmovdqu ymm1, ymmword [rbp + 0x200]
vmovdqu ymmword [rbp + 0x240], ymm3
vmovdqu ymm3, ymmword [rbp + 0xa0]
vmovdqu ymmword [rbp + 0x2c0], ymm15
vmovdqu ymmword [rbp + 0x80], ymm11
sub rax, 1
jne 0x180028490
vpaddd ymm2, ymm4, ymmword [rbp + 0x140]
vpaddd ymm3, ymm12, ymmword [rbp + 0x120]
vmovdqu ymm0, ymmword [rbp + 0x160]
vpaddd ymm5, ymm0, ymmword [rbp + 0x220]
vmovdqu ymm1, ymmword [rbp + 0x100]
vpaddd ymm0, ymm1, ymmword [rbp + 0x2a0]
mov rbx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x60]
add qword [rbp + 0x20], 0x20
vpunpckldq ymm1, ymm3, ymm0
vpunpckldq ymm4, ymm5, ymm2
vpunpckhdq ymm5, ymm5, ymm2
vpunpckhdq ymm2, ymm3, ymm0
vpaddd ymm3, ymm8, ymmword [rbp + 0x320]
vpunpcklqdq ymm12, ymm5, ymm2
vpunpckhqdq ymm13, ymm5, ymm2
vpaddd ymm2, ymm10, ymmword [rbp + 0x300]
vpunpcklqdq ymm14, ymm4, ymm1
vpunpckhqdq ymm11, ymm4, ymm1
vmovdqu ymm1, ymmword [rbp + 0x200]
vpaddd ymm5, ymm1, ymmword [rbp + 0xe0]
vmovdqu ymm1, ymmword [rbp + 0x340]
vpaddd ymm0, ymm1, ymmword [rbp + 0x280]
vpunpckldq ymm1, ymm3, ymm0
vpunpckldq ymm4, ymm5, ymm2
vpunpckhdq ymm5, ymm5, ymm2
vpunpckhdq ymm2, ymm3, ymm0
vpunpckhqdq ymm3, ymm4, ymm1
vpunpcklqdq ymm10, ymm4, ymm1
vmovdqu ymm1, ymmword [rbp + 0x380]
vpunpcklqdq ymm4, ymm5, ymm2
vpunpckhqdq ymm2, ymm5, ymm2
vperm2i128 ymm0, ymm11, ymm3, 0x20
vpxor ymm9, ymm0, ymmword [rdx]
vperm2i128 ymm0, ymm12, ymm4, 0x20
vpxor ymm8, ymm0, ymmword [r9]
vperm2i128 ymm0, ymm13, ymm2, 0x20
vpxor ymm7, ymm0, ymmword [r10]
vperm2i128 ymm0, ymm14, ymm10, 0x31
vpxor ymm6, ymm0, ymmword [rsi]
vperm2i128 ymm0, ymm11, ymm3, 0x31
vpxor ymm5, ymm0, ymmword [r14]
vperm2i128 ymm0, ymm12, ymm4, 0x31
vpxor ymm4, ymm0, ymmword [r15]
vperm2i128 ymm0, ymm13, ymm2, 0x31
vpxor ymm3, ymm0, ymmword [r12]
vperm2i128 ymm0, ymm14, ymm10, 0x20
vpxor ymm2, ymm0, ymmword [r11]
vmovdqu ymm0, ymmword [rbp + 0x3c0]
vmovdqu ymmword [r8], ymm2
vmovdqu ymmword [r13], ymm9
vmovdqu ymmword [rdi], ymm8
vmovdqu ymmword [rax], ymm7
vmovdqu ymmword [rcx], ymm6
vmovdqu ymmword [rbx], ymm5
vpaddd ymm5, ymm0, ymmword [rbp + 0x3e0]
mov rbx, qword [rbp]
vmovdqu ymm0, ymmword [rbp + 0x360]
add qword [rbp], 0x20
vmovdqu ymmword [rbx], ymm4
mov rbx, qword [rbp + 0x10]
add qword [rbp + 0x10], 0x20
vmovdqu ymmword [rbx], ymm3
vmovdqu ymm3, ymmword [rbp + 0xa0]
vpaddd ymm2, ymm3, ymmword [rbp + 0x400]
vpaddd ymm3, ymm0, ymmword [rbp + 0x80]
vpaddd ymm0, ymm1, ymmword [rbp + 0x260]
vpunpckldq ymm4, ymm5, ymm2
vpunpckhdq ymm5, ymm5, ymm2
vpunpckhdq ymm2, ymm3, ymm0
vpunpckldq ymm1, ymm3, ymm0
vmovdqu ymm0, ymmword [rbp + 0x3a0]
vpunpcklqdq ymm12, ymm5, ymm2
vpunpckhqdq ymm13, ymm5, ymm2
vpaddd ymm5, ymm0, ymmword [rbp + 0x420]
vmovdqu ymm0, ymmword [rbp + 0x1c0]
vpaddd ymm2, ymm0, ymmword [rbp + 0x440]
vmovdqu ymm0, ymmword [rbp + 0x1a0]
vpunpcklqdq ymm14, ymm4, ymm1
vpunpckhqdq ymm11, ymm4, ymm1
vpaddd ymm3, ymm0, ymmword [rbp + 0x240]
vpaddd ymm0, ymm15, ymmword [rbp + 0x180]
mov rbx, qword [rbp + 0x20]
add qword [rbp + 0x20], 0x1e0
vmovdqu ymm15, ymmword [rbp + 0x3a0]
vpunpckldq ymm1, ymm3, ymm0
vpunpckldq ymm4, ymm5, ymm2
vpunpckhdq ymm5, ymm5, ymm2
vpunpckhdq ymm2, ymm3, ymm0
vpunpckhqdq ymm3, ymm4, ymm1
vpunpcklqdq ymm10, ymm4, ymm1
vpunpcklqdq ymm4, ymm5, ymm2
vpunpckhqdq ymm2, ymm5, ymm2
vperm2i128 ymm0, ymm11, ymm3, 0x20
vpxor ymm9, ymm0, ymmword [rdx + 0x20]
vperm2i128 ymm0, ymm12, ymm4, 0x20
vpxor ymm8, ymm0, ymmword [r9 + 0x20]
vperm2i128 ymm0, ymm13, ymm2, 0x20
vpxor ymm7, ymm0, ymmword [r10 + 0x20]
vperm2i128 ymm0, ymm14, ymm10, 0x31
vpxor ymm6, ymm0, ymmword [rsi + 0x20]
vperm2i128 ymm0, ymm11, ymm3, 0x31
vpxor ymm5, ymm0, ymmword [r14 + 0x20]
vmovdqu ymm11, ymmword [rbp + 0x360]
vperm2i128 ymm0, ymm12, ymm4, 0x31
vpxor ymm4, ymm0, ymmword [r15 + 0x20]
vmovdqu ymm12, ymmword [rbp + 0xe0]
vperm2i128 ymm0, ymm13, ymm2, 0x31
vpxor ymm3, ymm0, ymmword [r12 + 0x20]
vmovdqu ymm13, ymmword [rbp + 0x340]
vperm2i128 ymm0, ymm14, ymm10, 0x20
vpxor ymm2, ymm0, ymmword [r11 + 0x20]
vmovdqu ymm14, ymmword [rbp + 0x380]
vmovdqu ymm10, ymmword [0x18005df60]
vmovdqu ymmword [r8 + 0x20], ymm2
vmovdqu ymm2, ymmword [0x18005df20]
vmovdqu ymmword [r13 + 0x20], ymm9
vmovdqu ymm9, ymmword [rbp + 0x320]
vmovdqu ymmword [rdi + 0x20], ymm8
vmovdqu ymm8, ymmword [rbp + 0x300]
vmovdqu ymmword [rax + 0x20], ymm7
vmovdqu ymm7, ymmword [rbp + 0x120]
vmovdqu ymmword [rcx + 0x20], ymm6
vmovdqu ymm6, ymmword [rbp + 0x140]
vmovdqu ymmword [rbx], ymm5
mov rbx, qword [rbp]
add rax, 0x200
add qword [rbp], 0x1e0
add rcx, 0x200
vmovdqu ymm5, ymmword [rbp + 0x100]
add r8, 0x200
mov qword [rbp + 0x50], rax
vmovdqu ymmword [rbx], ymm4
mov rbx, qword [rbp + 0x10]
add r13, 0x200
add qword [rbp + 0x10], 0x1e0
add rdi, 0x200
vmovdqu ymm4, ymmword [rbp + 0x160]
add r11, 0x200
mov qword [rbp + 0x60], rcx
vmovdqu ymmword [rbx], ymm3
vmovdqu ymm3, ymmword [0x18005df40]
mov rbx, qword [rbp + 0x40]
add rdx, 0x200
add r9, 0x200
add r10, 0x200
add rsi, 0x200
add r14, 0x200
add r15, 0x200
add r12, 0x200
sub qword [rbp + 0x70], 1
jne 0x1800283c0
vzeroupper
mov rdi, qword [rbp + 0x30]
cmp rdi, 0x100
jb 0x1800295dd
movdqu xmm3, xmmword [rbx]
mov rdx, rdi
movdqu xmm2, xmmword [rbx + 0x10]
shr rdx, 8
movdqu xmm0, xmmword [rbx + 0x30]
movdqu xmm1, xmmword [rbx + 0x20]
pshufd xmm8, xmm0, 0xff
pshufd xmm11, xmm0, 0
pshufd xmm0, xmm0, 0xaa
imul rax, rdx, 0xffffffffffffff00
movdqa xmmword [rbp + 0x120], xmm0
pshufd xmm4, xmm3, 0
pshufd xmm5, xmm2, 0x55
pshufd xmm7, xmm1, 0xaa
pshufd xmm6, xmm3, 0x55
pshufd xmm10, xmm2, 0xaa
add rdi, rax
pshufd xmm12, xmm1, 0xff
pshufd xmm9, xmm3, 0xaa
pshufd xmm13, xmm2, 0xff
pshufd xmm15, xmm2, 0
pshufd xmm14, xmm1, 0x55
pshufd xmm0, xmm3, 0xff
movdqa xmmword [rbp + 0x160], xmm4
movdqa xmmword [rbp + 0x180], xmm5
movdqa xmmword [rbp + 0x1a0], xmm7
movdqa xmmword [rbp + 0x1c0], xmm8
movdqa xmmword [rbp + 0xa0], xmm11
movdqa xmmword [rbp + 0x1e0], xmm6
movdqa xmmword [rbp + 0x260], xmm10
movdqa xmmword [rbp + 0x280], xmm12
movdqa xmmword [rbp + 0x200], xmm9
movdqa xmmword [rbp + 0x220], xmm13
movdqa xmmword [rbp + 0x2e0], xmm15
movdqa xmmword [rbp + 0xc0], xmm14
movdqa xmmword [rbp + 0x140], xmm0
nop word [rax + rax]
mov eax, dword [rbx + 0x20]
movdqa xmm3, xmm13
mov ecx, dword [rbx + 0x34]
shl rcx, 0x20
or rcx, rax
movdqa xmmword [rbp + 0x60], xmm6
movdqa xmm6, xmm9
movdqa xmmword [rbp + 0x70], xmm8
movdqa xmm9, xmmword [rbp + 0x140]
movdqa xmm8, xmm14
movdqa xmmword [rbp + 0x20], xmm4
mov eax, 0xa
movq xmm0, rcx
movdqa xmmword [rbp + 0x30], xmm7
punpcklqdq xmm0, xmm0
add rcx, 4
movdqa xmm1, xmm0
mov dword [rbx + 0x20], ecx
paddq xmm1, xmmword [0x18005dee0]
movdqa xmm7, xmm15
paddq xmm0, xmmword [0x18005def0]
movdqa xmm2, xmm1
punpckhdq xmm1, xmm0
punpckldq xmm2, xmm0
movdqa xmm0, xmm2
shr rcx, 0x20
punpckhdq xmm2, xmm1
punpckldq xmm0, xmm1
movdqa xmm14, xmm2
movdqa xmm1, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x300], xmm1
movdqa xmm1, xmm10
movdqa xmm10, xmm4
movdqa xmmword [rbp + 0x2c0], xmm2
movdqa xmm2, xmmword [rbp + 0x60]
movdqa xmm4, xmm11
movdqa xmm11, xmm0
movdqa xmmword [rbp + 0x2a0], xmm0
mov dword [rbx + 0x34], ecx
movdqa xmmword [rbp + 0x10], xmm6
movdqa xmmword [rbp + 0xe0], xmm9
movdqa xmmword [rbp + 0x40], xmm1
movdqa xmmword [rbp], xmm3
movdqa xmmword [rbp + 0x50], xmm12
jmp 0x180028de8
movdqa xmm5, xmmword [rbp + 0x80]
movdqa xmm0, xmm7
paddd xmm0, xmm10
movdqa xmm10, xmm0
psrld xmm0, 0x19
pslld xmm10, 7
pxor xmm10, xmm4
pxor xmm10, xmm0
movdqa xmm0, xmm5
paddd xmm0, xmm2
movdqa xmm15, xmm0
psrld xmm0, 0x19
pslld xmm15, 7
pxor xmm15, xmm14
pxor xmm15, xmm0
movdqa xmm0, xmm10
paddd xmm0, xmmword [rbp + 0x20]
movdqa xmm13, xmm0
psrld xmm0, 0x17
pslld xmm13, 9
pxor xmm13, xmm11
pxor xmm13, xmm0
movdqa xmm0, xmm15
paddd xmm0, xmm2
movdqa xmmword [rbp + 0x240], xmm13
movdqa xmm14, xmm0
psrld xmm0, 0x17
pslld xmm14, 9
pxor xmm14, xmm8
pxor xmm14, xmm0
movdqa xmm0, xmm13
paddd xmm0, xmm10
movdqa xmm11, xmm0
psrld xmm0, 0x13
pslld xmm11, 0xd
pxor xmm11, xmm7
pxor xmm11, xmm0
movdqa xmm0, xmm15
paddd xmm0, xmm14
movdqa xmm4, xmm0
psrld xmm0, 0x13
pslld xmm4, 0xd
pxor xmm4, xmm5
pxor xmm4, xmm0
movdqa xmm0, xmm13
paddd xmm0, xmm11
movdqa xmm7, xmm0
psrld xmm0, 0xe
pslld xmm7, 0x12
pxor xmm7, xmmword [rbp + 0x20]
pxor xmm7, xmm0
movdqa xmm0, xmm14
paddd xmm0, xmm4
movdqa xmm8, xmm0
psrld xmm0, 0xe
pslld xmm8, 0x12
pxor xmm8, xmm2
pxor xmm8, xmm0
movdqa xmm0, xmm1
paddd xmm0, xmm6
movdqa xmm12, xmm0
psrld xmm0, 0x19
pslld xmm12, 7
pxor xmm12, xmmword [rbp + 0x300]
pxor xmm12, xmm0
movdqa xmm0, xmm3
paddd xmm0, xmm9
movdqa xmm5, xmm0
psrld xmm0, 0x19
pslld xmm5, 7
pxor xmm5, xmmword [rbp + 0x70]
pxor xmm5, xmm0
movdqa xmm0, xmm12
paddd xmm0, xmm6
movdqa xmm2, xmm0
psrld xmm0, 0x17
pslld xmm2, 9
pxor xmm2, xmmword [rbp + 0x30]
pxor xmm2, xmm0
movdqa xmm0, xmm5
paddd xmm0, xmm9
movdqa xmm3, xmm0
psrld xmm0, 0x17
pslld xmm3, 9
pxor xmm3, xmmword [rbp + 0x50]
pxor xmm3, xmm0
movdqa xmm0, xmm12
paddd xmm0, xmm2
movdqa xmm1, xmm0
psrld xmm0, 0x13
pslld xmm1, 0xd
pxor xmm1, xmmword [rbp + 0x40]
pxor xmm1, xmm0
movdqa xmm0, xmm5
paddd xmm0, xmm3
movdqa xmm6, xmm0
psrld xmm0, 0x13
pslld xmm6, 0xd
pxor xmm6, xmmword [rbp]
pxor xmm6, xmm0
movdqa xmm0, xmm2
paddd xmm0, xmm1
movdqa xmm9, xmm0
psrld xmm0, 0xe
pslld xmm9, 0x12
pxor xmm9, xmmword [rbp + 0x10]
pxor xmm9, xmm0
movdqa xmm0, xmm5
paddd xmm0, xmm7
movdqa xmm13, xmm0
psrld xmm0, 0x19
pslld xmm13, 7
pxor xmm13, xmm4
pxor xmm13, xmm0
movdqa xmm0, xmm3
paddd xmm0, xmm6
movdqa xmmword [rbp + 0x80], xmm13
movdqa xmm4, xmm0
psrld xmm0, 0xe
pslld xmm4, 0x12
pxor xmm4, xmmword [rbp + 0xe0]
pxor xmm4, xmm0
movdqa xmm0, xmm10
paddd xmm0, xmm8
movdqa xmm13, xmm0
psrld xmm0, 0x19
pslld xmm13, 7
pxor xmm13, xmm1
movdqa xmm1, xmm13
movdqa xmmword [rbp + 0x40], xmm13
pxor xmm1, xmm0
movdqa xmm0, xmmword [rbp + 0x80]
paddd xmm0, xmm7
movdqa xmmword [rbp + 0x40], xmm1
movdqa xmm13, xmm0
psrld xmm0, 0x17
pslld xmm13, 9
pxor xmm13, xmm2
movdqa xmm2, xmm13
movdqa xmmword [rbp + 0x30], xmm13
pxor xmm2, xmm0
movdqa xmm0, xmm1
paddd xmm0, xmm8
movdqa xmmword [rbp + 0x30], xmm2
movdqa xmm2, xmm0
psrld xmm0, 0x17
pslld xmm2, 9
pxor xmm2, xmm3
pxor xmm2, xmm0
movdqa xmm0, xmmword [rbp + 0x30]
paddd xmm0, xmmword [rbp + 0x80]
movdqa xmm13, xmm0
movdqa xmmword [rbp + 0x50], xmm2
psrld xmm0, 0x13
pslld xmm13, 0xd
pxor xmm13, xmm5
pxor xmm13, xmm0
movdqa xmm0, xmm2
paddd xmm0, xmm1
movdqa xmmword [rbp + 0x70], xmm13
movdqa xmm5, xmm0
pslld xmm5, 0xd
pxor xmm5, xmm10
psrld xmm0, 0x13
sub rax, 1
pxor xmm5, xmm0
movdqa xmm0, xmm13
paddd xmm0, xmmword [rbp + 0x30]
movdqa xmm10, xmm0
movdqa xmmword [rbp + 0x100], xmm5
psrld xmm0, 0xe
pslld xmm10, 0x12
pxor xmm10, xmm7
pxor xmm10, xmm0
movdqa xmm0, xmm5
paddd xmm0, xmm2
movdqa xmmword [rbp + 0x20], xmm10
movdqa xmm2, xmm0
psrld xmm0, 0xe
pslld xmm2, 0x12
pxor xmm2, xmm8
pxor xmm2, xmm0
movdqa xmm0, xmm15
paddd xmm0, xmm9
movdqa xmmword [rbp + 0x60], xmm2
movdqa xmm3, xmm0
psrld xmm0, 0x19
pslld xmm3, 7
pxor xmm3, xmm6
pxor xmm3, xmm0
movdqa xmm0, xmm12
paddd xmm0, xmm4
movdqa xmmword [rbp], xmm3
movdqa xmm7, xmm0
psrld xmm0, 0x19
pslld xmm7, 7
pxor xmm7, xmm11
pxor xmm7, xmm0
movdqa xmm0, xmm3
paddd xmm0, xmm9
movdqa xmm11, xmm0
psrld xmm0, 0x17
pslld xmm11, 9
pxor xmm11, xmmword [rbp + 0x240]
pxor xmm11, xmm0
movdqa xmm0, xmm7
paddd xmm0, xmm4
movdqa xmm8, xmm0
psrld xmm0, 0x17
pslld xmm8, 9
pxor xmm8, xmm14
pxor xmm8, xmm0
movdqa xmm0, xmm11
paddd xmm0, xmm3
movdqa xmm14, xmm0
psrld xmm0, 0x13
pslld xmm14, 0xd
pxor xmm14, xmm15
pxor xmm14, xmm0
movdqa xmm0, xmm8
paddd xmm0, xmm7
movdqa xmm13, xmm0
psrld xmm0, 0x13
pslld xmm13, 0xd
pxor xmm13, xmm12
pxor xmm13, xmm0
movdqa xmm0, xmm14
paddd xmm0, xmm11
movdqa xmmword [rbp + 0x300], xmm13
movdqa xmm6, xmm0
psrld xmm0, 0xe
pslld xmm6, 0x12
pxor xmm6, xmm9
pxor xmm6, xmm0
movdqa xmm0, xmm13
paddd xmm0, xmm8
movdqa xmmword [rbp + 0x10], xmm6
movdqa xmm9, xmm0
psrld xmm0, 0xe
pslld xmm9, 0x12
pxor xmm9, xmm4
movdqa xmm4, xmm5
pxor xmm9, xmm0
movdqa xmmword [rbp + 0xe0], xmm9
jne 0x180028de0
movdqa xmm6, xmmword [rbp + 0x160]
movdqa xmm5, xmmword [rbp + 0x1a0]
paddd xmm6, xmm10
paddd xmm5, xmmword [rbp + 0x30]
movdqa xmm3, xmm6
movdqa xmm1, xmmword [rbp + 0x180]
movdqa xmm2, xmm5
paddd xmm1, xmmword [rbp + 0x80]
movdqa xmm0, xmmword [rbp + 0x1c0]
paddd xmm0, xmmword [rbp + 0x70]
movdqa xmm10, xmmword [rbp + 0x260]
movdqa xmm12, xmmword [rbp + 0x280]
punpckhdq xmm5, xmm0
punpckldq xmm2, xmm0
movdqu xmm0, xmmword [r11]
punpckhdq xmm6, xmm1
punpckldq xmm3, xmm1
movdqa xmm4, xmm6
punpcklqdq xmm6, xmm5
movdqa xmm1, xmm3
punpcklqdq xmm3, xmm2
pxor xmm3, xmm0
punpckhqdq xmm1, xmm2
movdqu xmmword [r8], xmm3
movdqu xmm0, xmmword [r11 + 0x40]
punpckhqdq xmm4, xmm5
movdqa xmm5, xmm10
paddd xmm5, xmmword [rbp + 0x40]
pxor xmm0, xmm1
movdqa xmm1, xmmword [rbp + 0x1e0]
movdqa xmm2, xmm5
paddd xmm1, xmmword [rbp + 0x60]
movdqu xmmword [r8 + 0x40], xmm0
movdqu xmm0, xmmword [r11 + 0x80]
pxor xmm6, xmm0
movdqu xmmword [r8 + 0x80], xmm6
movdqu xmm0, xmmword [r11 + 0xc0]
movdqa xmm6, xmmword [rbp + 0xa0]
paddd xmm6, xmmword [rbp + 0x100]
pxor xmm0, xmm4
movdqu xmmword [r8 + 0xc0], xmm0
movdqa xmm3, xmm6
movdqa xmm0, xmm12
paddd xmm0, xmmword [rbp + 0x50]
punpckldq xmm2, xmm0
punpckhdq xmm5, xmm0
movdqu xmm0, xmmword [r11 + 0x10]
punpckhdq xmm6, xmm1
punpckldq xmm3, xmm1
movdqa xmm4, xmm6
punpcklqdq xmm6, xmm5
movdqa xmm1, xmm3
punpcklqdq xmm3, xmm2
pxor xmm3, xmm0
punpckhqdq xmm1, xmm2
movdqa xmm2, xmmword [rbp + 0x2c0]
movdqu xmmword [r8 + 0x10], xmm3
movdqu xmm0, xmmword [r11 + 0x50]
punpckhqdq xmm4, xmm5
paddd xmm2, xmm14
movdqa xmm5, xmmword [rbp + 0x200]
pxor xmm0, xmm1
paddd xmm5, xmmword [rbp + 0x10]
movdqu xmmword [r8 + 0x50], xmm0
movdqu xmm0, xmmword [r11 + 0x90]
movdqa xmm1, xmm5
pxor xmm6, xmm0
movdqu xmmword [r8 + 0x90], xmm6
movdqu xmm0, xmmword [r11 + 0xd0]
movdqa xmm6, xmmword [rbp + 0x2a0]
pxor xmm0, xmm4
paddd xmm6, xmm11
movdqu xmmword [r8 + 0xd0], xmm0
movdqa xmm0, xmmword [rbp + 0x220]
movdqa xmm3, xmm6
paddd xmm0, xmmword [rbp]
punpckldq xmm3, xmm2
punpckhdq xmm6, xmm2
movdqa xmm2, xmm3
punpckldq xmm1, xmm0
punpckhdq xmm5, xmm0
movdqu xmm0, xmmword [r11 + 0x20]
movdqa xmm15, xmmword [rbp + 0x2e0]
movdqa xmm4, xmm6
movdqa xmm14, xmmword [rbp + 0xc0]
movdqa xmm11, xmmword [rbp + 0xa0]
punpcklqdq xmm6, xmm5
punpcklqdq xmm3, xmm1
pxor xmm3, xmm0
punpckhqdq xmm4, xmm5
movdqa xmm5, xmmword [rbp + 0x120]
movdqu xmmword [r8 + 0x20], xmm3
movdqu xmm0, xmmword [r11 + 0x60]
punpckhqdq xmm2, xmm1
paddd xmm5, xmm13
movdqa xmm13, xmmword [rbp + 0x220]
pxor xmm0, xmm2
movdqu xmmword [r8 + 0x60], xmm0
movdqu xmm0, xmmword [r11 + 0xa0]
movdqa xmm2, xmm5
movdqa xmm1, xmm14
pxor xmm6, xmm0
paddd xmm1, xmm8
movdqa xmm8, xmmword [rbp + 0x1c0]
movdqu xmmword [r8 + 0xa0], xmm6
movdqu xmm0, xmmword [r11 + 0xe0]
movdqa xmm6, xmm15
pxor xmm0, xmm4
paddd xmm6, xmm7
movdqa xmm7, xmmword [rbp + 0x1a0]
movdqa xmm3, xmm6
movdqu xmmword [r8 + 0xe0], xmm0
movdqa xmm0, xmmword [rbp + 0x140]
paddd xmm0, xmm9
punpckhdq xmm6, xmm1
movdqa xmm9, xmmword [rbp + 0x200]
movdqa xmm4, xmm6
punpckhdq xmm5, xmm0
punpckldq xmm2, xmm0
movdqu xmm0, xmmword [r11 + 0x30]
punpckldq xmm3, xmm1
movdqa xmm1, xmm3
punpcklqdq xmm6, xmm5
punpckhqdq xmm4, xmm5
movdqa xmm5, xmmword [rbp + 0x180]
punpcklqdq xmm3, xmm2
pxor xmm3, xmm0
punpckhqdq xmm1, xmm2
movdqu xmmword [r8 + 0x30], xmm3
movdqu xmm0, xmmword [r11 + 0x70]
pxor xmm0, xmm1
movdqu xmmword [r8 + 0x70], xmm0
movdqu xmm0, xmmword [r11 + 0xb0]
pxor xmm6, xmm0
movdqu xmmword [r8 + 0xb0], xmm6
movdqu xmm0, xmmword [r11 + 0xf0]
add r11, 0x100
movdqa xmm6, xmmword [rbp + 0x1e0]
pxor xmm0, xmm4
movdqa xmm4, xmmword [rbp + 0x160]
movdqu xmmword [r8 + 0xf0], xmm0
add r8, 0x100
sub rdx, 1
jne 0x180028cf0
mov r14d, 5
cmp rdi, 0x40
jb 0x1800299a6
mov rsi, rdi
shr rsi, 6
imul rax, rsi, 0xffffffffffffffc0
add rdi, rax
nop dword [rax + rax]
movdqu xmm10, xmmword [rbx]
mov rax, r14
movdqu xmm11, xmmword [rbx + 0x10]
movdqu xmm12, xmmword [rbx + 0x20]
movdqu xmm13, xmmword [rbx + 0x30]
movdqa xmm3, xmm10
movdqa xmm8, xmm11
movdqa xmm9, xmm12
movdqa xmm2, xmm13
nop
movdqa xmm0, xmm8
paddd xmm0, xmm3
movdqa xmm1, xmm0
psrld xmm0, 0x19
pslld xmm1, 7
pxor xmm1, xmm2
pxor xmm1, xmm0
pshufd xmm7, xmm1, 0x93
movdqa xmm0, xmm1
paddd xmm0, xmm3
movdqa xmm4, xmm0
psrld xmm0, 0x17
pslld xmm4, 9
pxor xmm4, xmm9
pxor xmm4, xmm0
movdqa xmm0, xmm4
pshufd xmm5, xmm4, 0x4e
paddd xmm0, xmm1
movdqa xmm1, xmm7
movdqa xmm2, xmm0
psrld xmm0, 0x13
pslld xmm2, 0xd
pxor xmm2, xmm8
pxor xmm2, xmm0
movdqa xmm0, xmm4
paddd xmm0, xmm2
movdqa xmm6, xmm0
psrld xmm0, 0xe
pslld xmm6, 0x12
pxor xmm6, xmm3
pshufd xmm3, xmm2, 0x39
pxor xmm6, xmm0
paddd xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm1, 0x19
pslld xmm0, 7
pxor xmm3, xmm0
pxor xmm3, xmm1
movdqa xmm1, xmm3
pshufd xmm8, xmm3, 0x93
paddd xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm1, 0x17
pslld xmm0, 9
pxor xmm5, xmm0
pxor xmm5, xmm1
movdqa xmm1, xmm8
movdqa xmm0, xmm5
pshufd xmm4, xmm5, 0x4e
paddd xmm0, xmm3
movdqa xmm2, xmm0
psrld xmm0, 0x13
pslld xmm2, 0xd
pxor xmm2, xmm7
pxor xmm2, xmm0
movdqa xmm0, xmm2
pshufd xmm3, xmm2, 0x39
paddd xmm0, xmm5
movdqa xmm7, xmm0
psrld xmm0, 0xe
pslld xmm7, 0x12
pxor xmm7, xmm6
pxor xmm7, xmm0
paddd xmm1, xmm7
movdqa xmm0, xmm1
psrld xmm1, 0x19
pslld xmm0, 7
pxor xmm3, xmm0
pxor xmm3, xmm1
movdqa xmm1, xmm3
pshufd xmm6, xmm3, 0x93
paddd xmm1, xmm7
movdqa xmm0, xmm1
psrld xmm1, 0x17
pslld xmm0, 9
pxor xmm4, xmm0
pxor xmm4, xmm1
movdqa xmm0, xmm4
paddd xmm0, xmm3
movdqa xmm2, xmm0
pslld xmm2, 0xd
psrld xmm0, 0x13
pxor xmm2, xmm8
pxor xmm2, xmm0
movdqa xmm0, xmm4
pshufd xmm3, xmm2, 0x39
paddd xmm0, xmm2
pshufd xmm2, xmm4, 0x4e
movdqa xmm5, xmm0
psrld xmm0, 0xe
movdqa xmm1, xmm6
pslld xmm5, 0x12
pxor xmm5, xmm7
pxor xmm5, xmm0
paddd xmm1, xmm5
movdqa xmm0, xmm1
psrld xmm1, 0x19
pslld xmm0, 7
pxor xmm3, xmm0
pxor xmm3, xmm1
pshufd xmm8, xmm3, 0x93
movdqa xmm1, xmm3
paddd xmm1, xmm5
movdqa xmm0, xmm1
psrld xmm1, 0x17
pslld xmm0, 9
pxor xmm2, xmm0
pxor xmm2, xmm1
pshufd xmm9, xmm2, 0x4e
movdqa xmm0, xmm2
paddd xmm0, xmm3
movdqa xmm1, xmm0
psrld xmm0, 0x13
pslld xmm1, 0xd
pxor xmm1, xmm6
pxor xmm1, xmm0
movdqa xmm0, xmm1
paddd xmm0, xmm2
pshufd xmm2, xmm1, 0x39
movdqa xmm3, xmm0
psrld xmm0, 0xe
pslld xmm3, 0x12
pxor xmm3, xmm5
pxor xmm3, xmm0
sub rax, 1
jne 0x180029630
mov eax, dword [r11]
paddd xmm13, xmm2
paddd xmm10, xmm3
movd r10d, xmm13
paddd xmm12, xmm9
movd ecx, xmm10
paddd xmm11, xmm8
pshufd xmm0, xmm10, 0x39
xor r10d, dword [r11 + 0x10]
xor eax, ecx
pshufd xmm1, xmm11, 0x39
movd ecx, xmm0
pshufd xmm0, xmm11, 0x93
movd r9d, xmm12
movd edx, xmm11
pshufd xmm2, xmm12, 0x39
xor r9d, dword [r11 + 0x20]
xor edx, dword [r11 + 0x30]
mov dword [r8], eax
mov dword [r8 + 0x20], r9d
mov dword [r8 + 0x30], edx
mov dword [r8 + 0x10], r10d
mov eax, dword [r11 + 0x14]
xor eax, ecx
movd edx, xmm1
pshufd xmm3, xmm13, 0x39
movd r9d, xmm2
xor edx, dword [r11 + 4]
movd r10d, xmm3
xor r9d, dword [r11 + 0x34]
pshufd xmm4, xmm11, 0x4e
xor r10d, dword [r11 + 0x24]
mov dword [r8 + 0x14], eax
mov dword [r8 + 0x34], r9d
mov dword [r8 + 4], edx
mov dword [r8 + 0x24], r10d
pshufd xmm6, xmm10, 0x4e
pshufd xmm5, xmm12, 0x4e
pshufd xmm1, xmm13, 0x4e
movd r9d, xmm4
movd edx, xmm5
movd ecx, xmm1
xor r9d, dword [r11 + 0x18]
xor edx, dword [r11 + 8]
xor ecx, dword [r11 + 0x38]
movd eax, xmm6
xor eax, dword [r11 + 0x28]
mov dword [r8 + 0x28], eax
mov dword [r8 + 0x18], r9d
mov dword [r8 + 8], edx
mov dword [r8 + 0x38], ecx
movd r9d, xmm0
pshufd xmm0, xmm12, 0x93
movd edx, xmm0
xor r9d, dword [r11 + 0x2c]
pshufd xmm0, xmm13, 0x93
xor edx, dword [r11 + 0x1c]
movd ecx, xmm0
pshufd xmm0, xmm10, 0x93
movd eax, xmm0
xor ecx, dword [r11 + 0xc]
xor eax, dword [r11 + 0x3c]
mov dword [r8 + 0x3c], eax
mov dword [r8 + 0x2c], r9d
mov dword [r8 + 0x1c], edx
mov dword [r8 + 0xc], ecx
mov edx, dword [rbx + 0x34]
add dword [rbx + 0x20], 1
lea eax, [rdx + 1]
cmovne eax, edx
add r8, 0x40
add r11, 0x40
mov dword [rbx + 0x34], eax
sub rsi, 1
jne 0x180029600
test rdi, rdi
je 0x180029dfa
movdqu xmm10, xmmword [rbx]
movdqu xmm11, xmmword [rbx + 0x10]
movdqu xmm12, xmmword [rbx + 0x20]
movdqu xmm13, xmmword [rbx + 0x30]
movdqa xmm3, xmm10
movdqa xmm8, xmm11
movdqa xmm9, xmm12
movdqa xmm5, xmm13
nop word [rax + rax]
movdqa xmm0, xmm8
paddd xmm0, xmm3
movdqa xmm1, xmm0
psrld xmm0, 0x19
pslld xmm1, 7
pxor xmm1, xmm5
pxor xmm1, xmm0
pshufd xmm7, xmm1, 0x93
movdqa xmm0, xmm1
paddd xmm0, xmm3
movdqa xmm5, xmm0
psrld xmm0, 0x17
pslld xmm5, 9
pxor xmm5, xmm9
pxor xmm5, xmm0
paddd xmm1, xmm5
movdqa xmm0, xmm5
movdqa xmm2, xmm1
psrld xmm1, 0x13
pslld xmm2, 0xd
pxor xmm2, xmm8
pxor xmm2, xmm1
movdqa xmm1, xmm7
paddd xmm0, xmm2
movdqa xmm6, xmm0
psrld xmm0, 0xe
pslld xmm6, 0x12
pxor xmm6, xmm3
pxor xmm6, xmm0
pshufd xmm0, xmm2, 0x39
paddd xmm1, xmm6
movdqa xmm3, xmm1
psrld xmm1, 0x19
pslld xmm3, 7
pxor xmm3, xmm0
pshufd xmm0, xmm5, 0x4e
pxor xmm3, xmm1
pshufd xmm8, xmm3, 0x93
movdqa xmm1, xmm3
paddd xmm1, xmm6
movdqa xmm4, xmm1
psrld xmm1, 0x17
pslld xmm4, 9
pxor xmm4, xmm0
pxor xmm4, xmm1
movdqa xmm1, xmm8
paddd xmm3, xmm4
pshufd xmm5, xmm4, 0x4e
movdqa xmm2, xmm3
psrld xmm3, 0x13
pslld xmm2, 0xd
pxor xmm2, xmm7
pxor xmm2, xmm3
movdqa xmm0, xmm2
pshufd xmm3, xmm2, 0x39
paddd xmm0, xmm4
movdqa xmm7, xmm0
psrld xmm0, 0xe
pslld xmm7, 0x12
pxor xmm7, xmm6
pxor xmm7, xmm0
paddd xmm1, xmm7
movdqa xmm0, xmm1
psrld xmm1, 0x19
pslld xmm0, 7
pxor xmm3, xmm0
pxor xmm3, xmm1
movdqa xmm1, xmm3
pshufd xmm6, xmm3, 0x93
paddd xmm1, xmm7
movdqa xmm0, xmm1
psrld xmm1, 0x17
pslld xmm0, 9
pxor xmm5, xmm0
pxor xmm5, xmm1
paddd xmm3, xmm5
movdqa xmm2, xmm3
psrld xmm3, 0x13
pslld xmm2, 0xd
pxor xmm2, xmm8
pxor xmm2, xmm3
movdqa xmm0, xmm5
movdqa xmm1, xmm6
paddd xmm0, xmm2
movdqa xmm4, xmm0
psrld xmm0, 0xe
pslld xmm4, 0x12
pxor xmm4, xmm7
pxor xmm4, xmm0
pshufd xmm0, xmm2, 0x39
paddd xmm1, xmm4
movdqa xmm3, xmm1
psrld xmm1, 0x19
pslld xmm3, 7
pxor xmm3, xmm0
pshufd xmm0, xmm5, 0x4e
pxor xmm3, xmm1
pshufd xmm8, xmm3, 0x93
movdqa xmm1, xmm3
paddd xmm1, xmm4
movdqa xmm2, xmm1
psrld xmm1, 0x17
pslld xmm2, 9
pxor xmm2, xmm0
pxor xmm2, xmm1
pshufd xmm9, xmm2, 0x4e
paddd xmm3, xmm2
movdqa xmm0, xmm3
psrld xmm3, 0x13
pslld xmm0, 0xd
pxor xmm0, xmm6
pxor xmm0, xmm3
pshufd xmm5, xmm0, 0x39
paddd xmm2, xmm0
movdqa xmm3, xmm2
psrld xmm2, 0xe
pslld xmm3, 0x12
pxor xmm3, xmm4
pxor xmm3, xmm2
sub r14, 1
jne 0x1800299e0
paddd xmm10, xmm3
paddd xmm13, xmm5
paddd xmm11, xmm8
pshufd xmm0, xmm10, 0x39
paddd xmm12, xmm9
pshufd xmm1, xmm11, 0x39
pshufd xmm2, xmm12, 0x39
xor ecx, ecx
movd edx, xmm2
movd dword [rbp + 0x454], xmm0
movd dword [rbp + 0x444], xmm1
pshufd xmm3, xmm13, 0x39
pshufd xmm0, xmm10, 0x93
pshufd xmm1, xmm11, 0x93
movd r9d, xmm3
movd dword [rbp + 0x47c], xmm0
movd dword [rbp + 0x46c], xmm1
pshufd xmm0, xmm12, 0x93
pshufd xmm1, xmm13, 0x93
pshufd xmm4, xmm10, 0x4e
pshufd xmm5, xmm11, 0x4e
pshufd xmm2, xmm12, 0x4e
pshufd xmm3, xmm13, 0x4e
mov dword [rbp + 0x474], edx
mov edx, ecx
movd dword [rbp + 0x45c], xmm0
movd dword [rbp + 0x44c], xmm1
movd dword [rbp + 0x440], xmm10
movd dword [rbp + 0x470], xmm11
movd dword [rbp + 0x460], xmm12
movd dword [rbp + 0x450], xmm13
mov dword [rbp + 0x464], r9d
movd dword [rbp + 0x468], xmm4
movd dword [rbp + 0x458], xmm5
movd dword [rbp + 0x448], xmm2
movd dword [rbp + 0x478], xmm3
cmp rdi, 0x40
jb 0x180029dbd
lea eax, [rdi - 1]
mov r9d, eax
lea r10, [r8 + rax]
add rax, r11
cmp r8, rax
ja 0x180029d09
cmp r10, r11
jae 0x180029dbd
lea rax, [rbp + 0x440]
add rax, r9
cmp r8, rax
ja 0x180029d28
lea rax, [rbp + 0x440]
cmp r10, rax
jae 0x180029dbd
mov r10, rdi
and r10, 0xffffffffffffffc0
mov r9d, 0x20
nop word [rax + rax]
movdqu xmm0, xmmword [rbp + rcx + 0x440]
lea eax, [r9 - 0x10]
add edx, 0x40
movdqu xmm1, xmmword [r11 + rcx]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax + r11]
movdqu xmmword [r8 + rcx], xmm1
mov ecx, edx
movdqu xmm1, xmmword [rbp + rax + 0x440]
pxor xmm1, xmm0
movdqu xmmword [rax + r8], xmm1
mov eax, r9d
movdqu xmm0, xmmword [rax + r11]
movdqu xmm1, xmmword [rbp + rax + 0x440]
pxor xmm1, xmm0
movdqu xmmword [rax + r8], xmm1
lea eax, [r9 + 0x10]
add r9d, 0x40
movdqu xmm1, xmmword [rbp + rax + 0x440]
movdqu xmm0, xmmword [rax + r11]
pxor xmm1, xmm0
movdqu xmmword [rax + r8], xmm1
cmp rcx, r10
jb 0x180029d40
mov ecx, edx
cmp rcx, rdi
jae 0x180029de9
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r11 + rcx]
inc edx
xor al, byte [rbp + rcx + 0x440]
mov byte [r8 + rcx], al
mov ecx, edx
cmp rcx, rdi
jb 0x180029dd0
mov edx, 0x40
lea rcx, [rbp + 0x440]
call fcn.18001be50
mov rcx, qword [rbp + 0x480]
xor rcx, rsp
call fcn.180038f90
lea r11, [rsp + 0x570]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret