Function at 0x180159d40
Capabilities:
Encode data using xor

Disassembly:
test r8, r8
je 0x18015aeb5
mov r11, rsp
push rbp
push rbx
push r15
lea rbp, [r11 - 0xc8]
sub rsp, 0x1b0
mov rax, qword [0x180428208]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov qword [r11 + 0x18], rsi
mov rbx, rcx
mov qword [r11 - 0x20], rdi
mov r15, rdx
mov qword [r11 - 0x28], r12
mov qword [r11 - 0x30], r13
mov qword [r11 - 0x38], r14
lea r11, [rbx + 8]
mov qword [rbp - 0x50], rcx
xor ecx, ecx
mov qword [rbp - 0x58], r11
mov qword [rbp - 0x38], r8
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x48], rcx
movzx r9d, cx
mov r8, rcx
mov r10d, 0x20
movzx ecx, byte [r15 + r8]
lea r8, [r8 + 1]
mov rdx, qword [rbx + 0x88]
movzx eax, byte [rdx + r8 - 1]
add cx, ax
add cx, r9w
movzx r9d, cx
mov byte [rdx + r8 - 1], cl
shr r9w, 8
sub r10, 1
jne 0x180159db0
mov rax, qword [rbx + 0xa0]
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmm1, xmmword [rax]
movups xmm0, xmmword [rax + 0x10]
movq rcx, xmm1
mov r14d, ecx
mov edx, ecx
shl r14d, 0x10
mov eax, edx
and eax, 0xff0000
mov r8, rcx
shr r8, 0x20
and ecx, 0xff00
or r14d, ecx
mov r9, r8
shl r14d, 8
and rdx, 0xffffffffff000000
shl r14, 8
or r14, rax
mov eax, r8d
shl eax, 0x10
and r8d, 0xff00
or eax, r8d
shl r14, 0x10
shl eax, 8
or r14, rdx
shl r14, 8
or r14, rax
mov rax, r9
and eax, 0xff0000
shr r9, 0x10
or rax, r9
shr rax, 8
or r14, rax
movups xmmword [rbp], xmm1
mov rcx, qword [rbp + 8]
mov edi, ecx
mov edx, ecx
shl edi, 0x10
mov eax, edx
and eax, 0xff0000
mov qword [rbp], r14
mov r8, rcx
and rdx, 0xffffffffff000000
shr r8, 0x20
and ecx, 0xff00
or edi, ecx
mov r9, r8
shl edi, 8
movq rcx, xmm0
shl rdi, 8
mov esi, ecx
or rdi, rax
shl esi, 0x10
mov eax, r8d
shl rdi, 0x10
shl eax, 0x10
or rdi, rdx
and r8d, 0xff00
shl rdi, 8
or eax, r8d
mov edx, ecx
shl eax, 8
mov r8, rcx
or rdi, rax
shr r8, 0x20
mov rax, r9
and ecx, 0xff00
and eax, 0xff0000
shr r9, 0x10
or rax, r9
or esi, ecx
shr rax, 8
mov r9, r8
or rdi, rax
shl esi, 8
mov qword [rbp + 8], rdi
shl rsi, 8
movups xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [r15]
mov rcx, qword [rbp + 0x18]
mov eax, edx
movups xmm1, xmmword [r15 + 0x10]
and eax, 0xff0000
and rdx, 0xffffffffff000000
or rsi, rax
mov ebx, ecx
mov eax, r8d
shl ebx, 0x10
shl eax, 0x10
and r8d, 0xff00
or eax, r8d
shl rsi, 0x10
shl eax, 8
or rsi, rdx
mov edx, ecx
mov r8, rcx
shr r8, 0x20
and ecx, 0xff00
or ebx, ecx
shl rsi, 8
or rsi, rax
shl ebx, 8
shl rbx, 8
mov rax, r9
and eax, 0xff0000
shr r9, 0x10
or rax, r9
movq rcx, xmm0
shr rax, 8
mov r9, r8
or rsi, rax
mov r15d, ecx
shl r15d, 0x10
mov eax, edx
and eax, 0xff0000
mov qword [rbp + 0x10], rsi
or rbx, rax
and rdx, 0xffffffffff000000
mov eax, r8d
shl rbx, 0x10
shl eax, 0x10
or rbx, rdx
and r8d, 0xff00
shl rbx, 8
or eax, r8d
mov edx, ecx
shl eax, 8
mov r8, rcx
or rbx, rax
shr r8, 0x20
mov rax, r9
and ecx, 0xff00
and eax, 0xff0000
shr r9, 0x10
or rax, r9
or r15d, ecx
shr rax, 8
mov r9, r8
or rbx, rax
shl r15d, 8
shl r15, 8
mov eax, edx
and eax, 0xff0000
mov qword [rbp + 0x18], rbx
or r15, rax
and rdx, 0xffffffffff000000
mov eax, r8d
shl r15, 0x10
shl eax, 0x10
or r15, rdx
and r8d, 0xff00
shl r15, 8
or eax, r8d
shl eax, 8
or r15, rax
mov rax, r9
and eax, 0xff0000
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm1
mov rcx, qword [rbp - 0x18]
mov r13d, ecx
mov edx, ecx
shl r13d, 0x10
mov r8, rcx
and ecx, 0xff00
shr r8, 0x20
or r13d, ecx
shr r9, 0x10
or rax, r9
shl r13d, 8
shr rax, 8
mov r9, r8
or r15, rax
shl r13, 8
mov eax, edx
mov qword [rbp - 0x20], r15
and eax, 0xff0000
and rdx, 0xffffffffff000000
or r13, rax
movq rcx, xmm1
mov eax, r8d
shl r13, 0x10
shl eax, 0x10
mov r10d, ecx
shl r10d, 0x10
and r8d, 0xff00
or eax, r8d
or r13, rdx
shl eax, 8
mov r8, rcx
mov edx, ecx
and ecx, 0xff00
or r10d, ecx
shr r8, 0x20
mov rcx, qword [rbp - 8]
shl r10d, 8
shl r10, 8
shl r13, 8
or r13, rax
mov rax, r9
and eax, 0xff0000
shr r9, 0x10
or rax, r9
mov r9, r8
shr rax, 8
or r13, rax
mov eax, edx
and eax, 0xff0000
mov qword [rbp - 0x18], r13
or r10, rax
and rdx, 0xffffffffff000000
mov eax, r8d
shl r10, 0x10
shl eax, 0x10
or r10, rdx
mov edx, ecx
and r8d, 0xff00
or eax, r8d
shl r10, 8
shl eax, 8
mov r8, rcx
or r10, rax
shr r8, 0x20
mov rax, r9
shr r9, 0x10
and eax, 0xff0000
or rax, r9
mov r9, r8
shr rax, 8
or r10, rax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
or ecx, eax
mov qword [rbp - 0x68], r10
shl ecx, 8
mov eax, edx
shl rcx, 8
and eax, 0xff0000
mov qword [rbp - 0x10], r10
or rcx, rax
and rdx, 0xffffffffff000000
shl rcx, 0x10
mov eax, r8d
shl eax, 0x10
or rcx, rdx
shl rcx, 8
and r8d, 0xff00
or eax, r8d
shl eax, 8
or rcx, rax
mov rax, r9
and eax, 0xff0000
shr r9, 0x10
or rax, r9
shr rax, 8
or rcx, rax
xor eax, eax
mov qword [rbp - 0x70], rcx
mov r12d, eax
mov qword [rbp - 8], rcx
nop dword [rax]
nop dword [rax + rax]
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
nop dword [rax + rax]
mov rdx, qword [rbp + rax*8 - 0x20]
xor rdx, qword [rbp + rax*8]
mov rcx, rdx
mov byte [rbp + rax + 0x7c], dl
shr rcx, 0x38
mov byte [rbp + rax + 0x60], cl
mov rcx, rdx
shr rcx, 0x30
mov byte [rbp + rax + 0x64], cl
mov rcx, rdx
shr rcx, 0x28
mov byte [rbp + rax + 0x68], cl
mov rcx, rdx
shr rcx, 0x20
mov byte [rbp + rax + 0x6c], cl
mov rcx, rdx
shr rcx, 0x18
mov byte [rbp + rax + 0x70], cl
mov rcx, rdx
shr rcx, 0x10
mov byte [rbp + rax + 0x74], cl
mov rcx, rdx
shr rcx, 8
mov byte [rbp + rax + 0x78], cl
inc rax
cmp rax, 4
jne 0x18015a1d0
lea rax, [rbp + 0x60]
mov qword [rbp - 0x28], 0x20
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x30], rax
mov rcx, r11
call fcn.1800a52d0
mov rcx, qword [rbp - 0x58]
lea r8, [rbp + 0x20]
mov rax, qword [rbp - 0x50]
lea r8, [r8 + r12*8]
mov r9d, 1
mov r10, qword [rcx]
mov rax, qword [rax + 0xa0]
lea rdx, [rax + r12*8]
call qword [r10 + 0x48]
cmp r12, 3
je 0x18015a339
mov rax, r14
mov qword [rbp + 0x10], rbx
mov rcx, rdi
mov qword [rbp], rdi
mov r8, rbx
mov qword [rbp + 8], rsi
mov r14, rdi
mov rdx, rsi
mov rdi, rsi
mov rsi, rbx
mov rbx, rcx
xor rbx, rax
mov qword [rbp + 0x18], rbx
cmp r12, 1
jne 0x18015a2f7
movabs rax, 0xff00ff00ff00ff
xor r14, rax
movabs rax, 0xff00ff00ff00ff00
xor rdi, rax
mov qword [rbp], r14
movabs rax, 0xffff00ff0000ff
mov qword [rbp + 8], rdi
xor rsi, rax
movabs rax, 0xff000000ffff00ff
xor rbx, rax
mov qword [rbp + 0x10], rsi
mov qword [rbp + 0x18], rbx
mov r11, qword [rbp - 0x58]
xor r15, r13
mov rax, r15
inc r12
mov r15, qword [rbp - 0x68]
mov rcx, r15
mov qword [rbp - 0x68], rax
xor rcx, r13
mov qword [rbp - 0x10], rax
mov r13, qword [rbp - 0x70]
mov eax, 0
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x70], rcx
mov qword [rbp - 8], rcx
cmp r12, 4
jne 0x18015a1c0
movzx edi, byte [rbp + 0x38]
movzx esi, byte [rbp + 0x3e]
movzx r10d, byte [rbp + 0x21]
movzx r8d, byte [rbp + 0x3f]
movzx r14d, byte [rbp + 0x39]
movzx r15d, byte [rbp + 0x3a]
movzx r12d, byte [rbp + 0x25]
movzx eax, byte [rbp + 0x3c]
mov byte [rbp + 0x44], al
movzx eax, byte [rbp + 0x3d]
mov byte [rbp + 0x45], al
movzx ecx, byte [rbp + 0x26]
movzx ebx, byte [rbp + 0x3b]
movzx r13d, byte [rbp + 0x27]
movzx edx, byte [rbp + 0x28]
movzx eax, byte [rbp + 0x20]
xor al, byte [rbp + 0x22]
xor al, byte [rbp + 0x24]
xor al, cl
movzx r9d, byte [rbp + 0x29]
xor al, sil
movzx r11d, byte [rbp + 0x2b]
xor al, dil
mov byte [rbp + 0x43], bl
mov byte [rbp + 0x48], al
movzx eax, r10b
xor al, byte [rbp + 0x23]
xor al, r12b
mov byte [rbp + 0x40], dil
xor al, r13b
mov byte [rbp + 0x41], r14b
xor al, r8b
mov byte [rbp + 0x42], r15b
xor al, r14b
mov byte [rbp + 0x46], sil
mov byte [rbp + 0x49], al
movzx eax, dl
xor al, byte [rbp + 0x20]
xor al, sil
mov byte [rbp + 0x47], r8b
xor al, r15b
xor al, dil
mov byte [rbp + 0x4a], al
movzx eax, r9b
xor al, r10b
xor al, r8b
xor al, bl
movzx ebx, byte [rbp + 0x2a]
xor al, r14b
mov byte [rbp + 0x4b], al
movzx eax, bl
xor al, byte [rbp + 0x20]
xor al, byte [rbp + 0x24]
xor al, cl
xor al, sil
xor al, byte [rbp + 0x3c]
xor al, r15b
xor al, dil
mov byte [rbp + 0x4c], al
movzx eax, r11b
xor al, r10b
movzx r10d, byte [rbp + 0x2c]
xor al, r12b
xor al, r13b
xor al, r8b
xor al, byte [rbp + 0x3d]
xor al, byte [rbp + 0x3b]
xor al, r14b
mov byte [rbp + 0x4d], al
movzx eax, r10b
xor al, dl
xor al, byte [rbp + 0x20]
xor al, byte [rbp + 0x24]
xor al, byte [rbp + 0x3c]
xor al, r15b
xor al, dil
mov byte [rbp + 0x4e], al
movzx eax, byte [rbp + 0x2d]
xor al, r9b
xor al, byte [rbp + 0x21]
xor al, r12b
xor al, byte [rbp + 0x3d]
xor al, byte [rbp + 0x3b]
xor al, r14b
movzx r12d, byte [rbp + 0x2e]
mov byte [rbp + 0x4f], al
movzx eax, r12b
xor al, bl
movzx r14d, byte [rbp + 0x30]
xor al, byte [rbp + 0x22]
xor al, cl
xor al, sil
movzx esi, byte [rbp + 0x31]
xor al, byte [rbp + 0x3c]
xor al, r15b
movzx r15d, byte [rbp + 0x2f]
mov byte [rbp + 0x50], al
movzx eax, r15b
xor al, r11b
xor al, byte [rbp + 0x23]
xor al, r13b
xor al, r8b
xor al, byte [rbp + 0x3d]
xor al, byte [rbp + 0x3b]
mov byte [rbp + 0x51], al
movzx eax, r14b
xor al, r10b
xor al, dl
xor al, byte [rbp + 0x20]
xor al, byte [rbp + 0x22]
xor al, cl
xor al, byte [rbp + 0x3c]
xor al, dil
movzx edi, byte [rbp + 0x32]
mov byte [rbp + 0x52], al
movzx eax, sil
xor al, byte [rbp + 0x2d]
xor al, r9b
xor al, byte [rbp + 0x21]
xor al, byte [rbp + 0x23]
xor al, r13b
xor al, byte [rbp + 0x3d]
xor al, byte [rbp + 0x39]
mov byte [rbp + 0x53], al
movzx eax, dil
xor al, r12b
xor al, bl
movzx ebx, byte [rbp + 0x33]
xor al, dl
xor al, byte [rbp + 0x22]
xor al, byte [rbp + 0x24]
xor al, byte [rbp + 0x3e]
xor al, byte [rbp + 0x3a]
mov byte [rbp + 0x54], al
movzx eax, bl
xor al, r15b
xor al, r11b
movzx r11d, byte [rbp + 0x34]
xor al, r9b
movzx r9d, r11b
xor al, byte [rbp + 0x23]
xor r9b, r14b
xor al, byte [rbp + 0x25]
xor al, r8b
xor al, byte [rbp + 0x3b]
mov byte [rbp + 0x55], al
movzx eax, r10b
xor al, byte [rbp + 0x2a]
xor al, byte [rbp + 0x20]
xor al, byte [rbp + 0x22]
xor al, byte [rbp + 0x3e]
xor al, byte [rbp + 0x3c]
xor al, byte [rbp + 0x38]
movzx r10d, byte [rbp + 0x35]
xor al, r9b
mov byte [rbp + 0x56], al
movzx r8d, r10b
movzx eax, byte [rbp + 0x2d]
xor r8b, sil
xor al, byte [rbp + 0x2b]
xor al, byte [rbp + 0x21]
xor al, byte [rbp + 0x23]
xor al, byte [rbp + 0x3f]
xor r11b, dil
xor al, byte [rbp + 0x3d]
xor r10b, bl
xor al, byte [rbp + 0x39]
xor r14b, byte [rbp + 0x2a]
xor al, r8b
xor sil, byte [rbp + 0x2b]
xor r14b, byte [rbp + 0x24]
xor sil, byte [rbp + 0x25]
xor r11b, byte [rbp + 0x2c]
xor r10b, byte [rbp + 0x2d]
xor r14b, byte [rbp + 0x3e]
xor sil, byte [rbp + 0x3f]
xor r11b, byte [rbp + 0x20]
xor r10b, byte [rbp + 0x21]
xor r14b, byte [rbp + 0x3c]
xor sil, byte [rbp + 0x3d]
xor r11b, byte [rbp + 0x22]
xor r10b, byte [rbp + 0x23]
xor r14b, byte [rbp + 0x3a]
xor sil, byte [rbp + 0x3b]
xor r11b, byte [rbp + 0x24]
xor r10b, byte [rbp + 0x25]
xor r11b, byte [rbp + 0x3c]
xor r10b, byte [rbp + 0x3d]
movups xmm0, xmmword [rbp + 0x40]
movzx edx, byte [rbp + 0x36]
mov byte [rbp + 0x57], al
xor dl, dil
movzx eax, r12b
mov byte [rbp + 0x5e], r11b
xor al, byte [rbp + 0x2c]
xor r14b, dl
xor al, byte [rbp + 0x20]
xor r12b, byte [rbp + 0x28]
xor al, cl
xor al, byte [rbp + 0x3a]
xor al, byte [rbp + 0x38]
xor r12b, byte [rbp + 0x22]
xor al, dl
xor r12b, byte [rbp + 0x3c]
xor r12b, byte [rbp + 0x3a]
xor r12b, byte [rbp + 0x38]
movzx ecx, byte [rbp + 0x37]
xor r12b, r9b
mov byte [rbp + 0x58], al
xor cl, bl
movzx eax, r15b
mov byte [rbp + 0x5a], r12b
xor al, byte [rbp + 0x2d]
xor sil, cl
xor r15b, byte [rbp + 0x29]
xor al, byte [rbp + 0x21]
xor r15b, byte [rbp + 0x23]
xor al, r13b
xor r15b, byte [rbp + 0x3d]
xor al, byte [rbp + 0x3b]
xor r15b, byte [rbp + 0x3b]
xor al, byte [rbp + 0x39]
xor r15b, byte [rbp + 0x39]
xor al, cl
mov byte [rbp + 0x59], al
xor r15b, r8b
mov rax, qword [rbp - 0x60]
mov byte [rbp + 0x5b], r15b
mov byte [rbp + 0x5c], r14b
mov byte [rbp + 0x5d], sil
mov byte [rbp + 0x5f], r10b
movups xmm1, xmmword [rbp + 0x50]
movups xmmword [rbp + 0x60], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x70], xmm1
movups xmm1, xmmword [rax + 0x10]
xor eax, eax
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm1
nop dword [rax]
nop word [rax + rax]
movdqu xmm0, xmmword [rbp + rax + 0x60]
movdqu xmm1, xmmword [rbp + rax - 0x20]
xorps xmm1, xmm0
movdqu xmmword [rbp + rax + 0x60], xmm1
add rax, 0x10
cmp rax, 0x20
jl 0x18015a670
movups xmm1, xmmword [rbp + 0x60]
mov r8d, 0x1e
lea rdx, [rbp + 0x22]
movups xmm2, xmmword [rbp + 0x70]
lea rcx, [rbp + 0x20]
movdqa xmm0, xmm1
movd edi, xmm1
psrldq xmm0, 2
movd eax, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 4
movups xmmword [rbp + 0x20], xmm1
xor dil, al
movd eax, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 6
movups xmmword [rbp + 0x30], xmm2
xor dil, al
movd eax, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 0xe
xor dil, al
movd eax, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 8
xor dil, al
movd eax, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 1
movd ebx, xmm0
xor dil, al
movdqa xmm0, xmm1
psrldq xmm0, 3
movd eax, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 5
psrldq xmm1, 7
xor bl, al
movd eax, xmm0
movdqa xmm0, xmm2
psrldq xmm2, 9
psrldq xmm0, 0xf
xor bl, al
movd eax, xmm1
xor bl, al
movd eax, xmm0
xor bl, al
movd eax, xmm2
xor bl, al
call fcn.180282cf0
movups xmm0, xmmword [rbp + 0x20]
mov rax, qword [rbp - 0x50]
mov byte [rbp + 0x3e], dil
mov byte [rbp + 0x3f], bl
movups xmm1, xmmword [rbp + 0x30]
mov rax, qword [rax + 0xa0]
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp - 0x40], rax
movups xmmword [rbp + 0x70], xmm1
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
xor eax, eax
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm1
nop dword [rax]
movdqu xmm0, xmmword [rbp + rax + 0x60]
movdqu xmm1, xmmword [rbp + rax - 0x20]
xorps xmm1, xmm0
movdqu xmmword [rbp + rax + 0x60], xmm1
add rax, 0x10
cmp rax, 0x20
jl 0x18015a790
movups xmm1, xmmword [rbp + 0x70]
movups xmm2, xmmword [rbp + 0x60]
movdqa xmm0, xmm1
psrldq xmm0, 6
movd edx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 4
movd ebx, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 0xe
movzx eax, dl
movd ecx, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 2
xor al, bl
mov byte [rsp + 0x30], al
movzx r11d, cl
mov dword [rsp + 0x4c], ecx
xor r11b, al
mov dword [rbp - 0x68], edx
movd eax, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 6
movd r8d, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 0xe
movd ecx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 0xc
movd edi, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 0xa
mov dword [rsp + 0x34], eax
xor al, r8b
xor al, cl
mov dword [rsp + 0x50], ecx
movd ecx, xmm0
xor al, dil
movdqa xmm0, xmm1
mov dword [rsp + 0x7c], ebx
psrldq xmm0, 7
xor al, cl
mov dword [rsp + 0x3c], ecx
xor al, r11b
mov dword [rsp + 0x40], r8d
mov byte [rbp + 0x40], al
movd eax, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 5
movd r15d, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 0xf
movd ecx, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 3
movd r13d, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 7
movzx r10d, cl
movd esi, xmm0
movdqa xmm0, xmm1
mov dword [rbp - 0x78], eax
xor al, r15b
psrldq xmm0, 0xf
xor r10b, al
movd r12d, xmm0
movdqa xmm0, xmm1
mov byte [rsp + 0x31], al
movzx eax, r13b
psrldq xmm0, 0xd
xor al, sil
movd r14d, xmm0
xor al, r12b
movups xmmword [rbp + 0x20], xmm2
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x48], r14d
movups xmmword [rbp + 0x30], xmm1
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x44], esi
mov dword [rsp + 0x60], r12d
xor al, r14b
movzx r9d, dl
movdqa xmm0, xmm1
psrldq xmm0, 0xb
movd ecx, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 8
movd edx, xmm0
movdqa xmm0, xmm1
xor al, cl
psrldq xmm0, 1
xor al, r10b
mov dword [rsp + 0x54], ecx
mov byte [rbp + 0x41], al
movd eax, xmm1
movd ecx, xmm2
mov dword [rsp + 0x68], edx
mov dword [rsp + 0x74], eax
xor r9b, al
movzx eax, dl
mov dword [rsp + 0x64], ecx
xor al, cl
xor al, byte [rsp + 0x34]
xor al, r8b
movzx r8d, byte [rbp - 0x78]
xor al, dil
xor al, r9b
mov byte [rbp + 0x42], al
movd eax, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 9
movd edi, xmm0
movdqa xmm0, xmm2
mov dword [rsp + 0x78], eax
xor r8b, al
psrldq xmm0, 1
movd ecx, xmm0
movzx eax, dil
movdqa xmm0, xmm1
mov dword [rsp + 0x6c], edi
psrldq xmm0, 2
xor al, cl
mov dword [rsp + 0x70], ecx
xor al, r13b
xor al, sil
xor al, r14b
xor al, r8b
mov byte [rbp + 0x43], al
movd eax, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 0xa
movd r14d, xmm0
movdqa xmm0, xmm2
mov dword [rbp - 0x7c], eax
psrldq xmm0, 4
movd ecx, xmm0
xor al, r14b
xor al, dl
movdqa xmm0, xmm1
xor al, byte [rsp + 0x34]
psrldq xmm0, 8
xor al, cl
xor al, byte [rsp + 0x50]
movd edx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 3
mov dword [rbp - 0x80], ecx
movd ecx, xmm0
xor al, dl
mov byte [rbp + 0x44], al
movdqa xmm0, xmm2
psrldq xmm0, 0xb
movd esi, xmm0
movzx eax, cl
movdqa xmm0, xmm2
mov dword [rbp - 0x74], edx
mov dword [rbp - 0x70], ecx
xor al, sil
psrldq xmm0, 5
xor al, dil
xor al, r13b
movd r13d, xmm0
movdqa xmm0, xmm2
psrldq xmm1, 9
psrldq xmm0, 0xc
xor al, r13b
movd edi, xmm0
xor al, r12b
psrldq xmm2, 0xd
movd r12d, xmm1
xor al, r12b
mov byte [rbp + 0x45], al
movzx eax, bl
xor al, dil
movd ebx, xmm2
xor al, r14b
xor al, byte [rsp + 0x64]
xor al, byte [rsp + 0x34]
xor al, byte [rsp + 0x50]
xor al, byte [rsp + 0x3c]
xor al, dl
mov byte [rbp + 0x46], al
movzx eax, r15b
xor al, bl
xor al, sil
xor al, byte [rsp + 0x70]
xor al, byte [rsp + 0x5c]
xor al, byte [rsp + 0x60]
xor al, byte [rsp + 0x54]
xor al, r12b
mov byte [rbp + 0x47], al
movzx eax, byte [rbp - 0x68]
xor al, byte [rsp + 0x4c]
xor al, dil
xor al, byte [rsp + 0x64]
xor al, byte [rsp + 0x40]
xor al, byte [rsp + 0x50]
xor al, byte [rsp + 0x38]
xor al, byte [rsp + 0x3c]
xor al, dl
mov edx, dword [rsp + 0x70]
mov byte [rbp + 0x48], al
movzx eax, byte [rbp - 0x78]
xor al, byte [rsp + 0x58]
xor al, bl
xor al, dl
xor al, byte [rsp + 0x44]
xor al, byte [rsp + 0x60]
xor al, byte [rsp + 0x48]
xor al, byte [rsp + 0x54]
xor al, r12b
mov byte [rbp + 0x49], al
movzx eax, byte [rsp + 0x74]
xor al, byte [rsp + 0x4c]
xor al, byte [rsp + 0x68]
xor al, byte [rsp + 0x64]
xor al, byte [rbp - 0x80]
xor al, byte [rsp + 0x40]
xor al, byte [rsp + 0x38]
xor al, byte [rsp + 0x3c]
mov byte [rbp + 0x4a], al
movzx eax, byte [rsp + 0x78]
xor al, byte [rsp + 0x58]
xor al, byte [rsp + 0x6c]
xor al, dl
movzx edx, byte [rbp - 0x7c]
xor dl, byte [rsp + 0x74]
xor al, r13b
xor al, byte [rsp + 0x44]
xor al, byte [rsp + 0x48]
xor al, byte [rsp + 0x54]
mov byte [rbp + 0x4b], al
movzx eax, r14b
xor al, byte [rsp + 0x68]
xor al, byte [rsp + 0x34]
xor al, byte [rsp + 0x40]
xor al, byte [rsp + 0x50]
xor al, byte [rsp + 0x38]
xor al, dl
xor cl, byte [rsp + 0x78]
mov byte [rbp + 0x4c], al
movzx eax, sil
xor al, byte [rsp + 0x6c]
xor al, byte [rsp + 0x5c]
xor al, byte [rsp + 0x44]
xor al, byte [rsp + 0x60]
xor al, byte [rsp + 0x48]
xor al, cl
xor r15b, byte [rbp - 0x70]
mov byte [rbp + 0x4d], al
mov eax, dword [rsp + 0x7c]
xor al, byte [rbp - 0x7c]
mov dword [rsp + 0x7c], eax
movzx eax, dil
xor al, r14b
xor al, byte [rsp + 0x68]
xor al, byte [rsp + 0x64]
xor al, byte [rsp + 0x34]
xor al, byte [rsp + 0x40]
xor al, byte [rbp - 0x74]
xor al, byte [rsp + 0x7c]
mov byte [rbp + 0x4e], al
movzx eax, bl
xor al, sil
xor al, byte [rsp + 0x6c]
xor al, byte [rsp + 0x70]
xor al, byte [rsp + 0x5c]
xor al, byte [rsp + 0x44]
xor al, r12b
xor al, r15b
mov byte [rbp + 0x4f], al
movzx eax, dil
xor al, r14b
xor al, byte [rsp + 0x68]
xor al, byte [rsp + 0x34]
xor al, byte [rbp - 0x80]
xor al, byte [rsp + 0x3c]
xor al, r11b
mov r11d, dword [rsp + 0x6c]
mov byte [rbp + 0x50], al
movzx eax, bl
xor al, sil
xor al, r11b
xor al, byte [rsp + 0x5c]
xor al, r13b
xor al, byte [rsp + 0x54]
xor al, r10b
mov r10d, dword [rbp - 0x80]
mov byte [rbp + 0x51], al
movzx eax, byte [rsp + 0x4c]
xor al, dil
xor al, r14b
xor al, r10b
xor al, byte [rsp + 0x40]
xor al, byte [rsp + 0x38]
xor al, r9b
mov r9d, dword [rbp - 0x74]
xor al, r9b
mov byte [rbp + 0x52], al
movzx eax, byte [rsp + 0x58]
xor al, bl
xor al, sil
xor al, r13b
xor al, byte [rsp + 0x44]
xor al, byte [rsp + 0x48]
xor al, r8b
mov r8d, dword [rsp + 0x68]
xor al, r12b
mov byte [rbp + 0x53], al
movzx eax, byte [rsp + 0x4c]
xor al, dil
xor al, r8b
xor al, byte [rsp + 0x40]
xor al, byte [rsp + 0x50]
xor al, byte [rsp + 0x3c]
xor al, dl
xor al, r9b
mov byte [rbp + 0x54], al
movzx eax, byte [rsp + 0x58]
xor al, bl
xor al, r11b
xor al, byte [rsp + 0x44]
xor al, byte [rsp + 0x60]
mov edx, dword [rsp + 0x54]
xor al, dl
xor al, cl
mov ecx, dword [rsp + 0x64]
xor al, r12b
mov byte [rbp + 0x55], al
movzx eax, byte [rsp + 0x74]
xor al, byte [rsp + 0x4c]
xor al, r14b
xor al, r8b
xor al, cl
xor al, byte [rsp + 0x34]
xor al, r10b
xor al, byte [rsp + 0x40]
xor al, byte [rsp + 0x50]
xor al, byte [rsp + 0x38]
xor al, byte [rsp + 0x3c]
xor al, r9b
xor al, byte [rsp + 0x7c]
mov byte [rbp + 0x56], al
movzx eax, byte [rsp + 0x78]
xor al, byte [rsp + 0x58]
xor al, sil
xor al, r11b
mov r11d, dword [rbp - 0x7c]
xor al, byte [rsp + 0x70]
xor al, byte [rsp + 0x5c]
xor al, r13b
xor al, byte [rsp + 0x44]
xor al, byte [rsp + 0x60]
xor al, byte [rsp + 0x48]
xor al, dl
movzx edx, r11b
xor al, r12b
xor dl, byte [rsp + 0x30]
xor al, r15b
mov r15d, dword [rsp + 0x70]
mov byte [rbp + 0x57], al
movzx eax, byte [rsp + 0x74]
xor al, dil
xor al, r14b
xor al, r8b
mov r8d, dword [rbp - 0x70]
xor al, cl
movzx ecx, r8b
xor al, byte [rsp + 0x38]
xor al, byte [rsp + 0x3c]
xor cl, byte [rsp + 0x31]
xor al, dl
xor al, r9b
mov byte [rbp + 0x58], al
movzx eax, byte [rsp + 0x78]
xor al, bl
xor al, sil
xor al, byte [rsp + 0x6c]
xor al, r15b
xor al, byte [rsp + 0x48]
xor al, byte [rsp + 0x54]
xor al, cl
xor al, r12b
mov byte [rbp + 0x59], al
movzx eax, byte [rsp + 0x4c]
xor al, dil
xor al, r14b
mov r14d, dword [rsp + 0x3c]
xor al, byte [rsp + 0x34]
xor al, byte [rsp + 0x50]
xor al, byte [rsp + 0x38]
xor al, r14b
xor al, dl
xor al, r9b
mov byte [rbp + 0x5a], al
movzx eax, byte [rsp + 0x58]
xor al, bl
xor al, sil
mov esi, dword [rsp + 0x54]
xor al, byte [rsp + 0x5c]
xor al, byte [rsp + 0x60]
xor al, byte [rsp + 0x48]
xor al, sil
xor al, cl
xor al, r12b
mov edx, dword [rsp + 0x74]
mov byte [rbp + 0x5b], al
movzx eax, dl
xor al, byte [rsp + 0x4c]
xor al, dil
mov ecx, dword [rsp + 0x78]
xor al, byte [rsp + 0x64]
xor al, byte [rsp + 0x34]
xor al, byte [rsp + 0x40]
xor al, byte [rsp + 0x38]
mov edi, dword [rsp + 0x5c]
xor al, r14b
xor al, byte [rsp + 0x30]
mov r14d, dword [rsp + 0x58]
mov byte [rbp + 0x5c], al
movzx eax, cl
xor al, r14b
xor al, bl
mov ebx, dword [rsp + 0x48]
xor al, r15b
xor al, dil
xor al, byte [rsp + 0x44]
xor al, bl
xor al, sil
xor al, byte [rsp + 0x31]
mov byte [rbp + 0x5d], al
mov eax, dword [rbp - 0x68]
xor al, r11b
xor al, dl
xor al, byte [rsp + 0x4c]
xor al, byte [rsp + 0x68]
xor al, byte [rsp + 0x34]
xor al, r10b
xor al, byte [rsp + 0x50]
xor al, byte [rsp + 0x38]
xor al, r9b
mov byte [rbp + 0x5e], al
mov eax, dword [rbp - 0x78]
xor al, r8b
xor al, cl
xor al, r14b
xor al, byte [rsp + 0x6c]
xor al, dil
xor al, r13b
xor al, byte [rsp + 0x60]
xor al, bl
xor al, r12b
mov byte [rbp + 0x5f], al
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x18015aeb6
mov r15, qword [rbp - 0x60]
mov ecx, 0
movups xmm0, xmmword [rbp + 0x40]
mov r11, qword [rbp - 0x58]
add r15, 0x20
movups xmm1, xmmword [rbp + 0x50]
mov rbx, qword [rbp - 0x50]
movups xmmword [rax], xmm0
mov qword [rbp - 0x60], r15
movups xmmword [rax + 0x10], xmm1
mov rax, qword [rbp - 0x48]
inc rax
mov qword [rbp - 0x48], rax
cmp rax, qword [rbp - 0x38]
jne 0x180159da3
mov r13, qword [rsp + 0x198]
mov r12, qword [rsp + 0x1a0]
mov rdi, qword [rsp + 0x1a8]
mov rsi, qword [rsp + 0x1e0]
mov r14, qword [rsp + 0x190]
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.1800a5910
add rsp, 0x1b0
pop r15
pop rbx
pop rbp
ret
lea r9, [0x1803e49b0]
mov dword [rsp + 0x20], 0x7b
lea r8, str.copy_mem
lea rdx, str.If_n___0_then_args_are_not_null
lea rcx, str.n___0_implies_in___nullptr__out___nullptr
call fcn.1800d1f70
int3