Function at 0x18003ae20
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1b8]
sub rsp, 0x280
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x150], rax
mov rax, qword [rcx + 0x80]
mov rsi, rcx
mov rdi, qword [rcx + 0x108]
mov qword [rbp - 0x50], r9
mov qword [rbp - 0x48], rcx
mov byte [rbp + 0xc0], 0x80
cmp rax, 0x78
jae 0x18003ae8c
mov ebx, 0x80
sub rbx, rax
inc rdi
jmp 0x18003ae98
mov ebx, 0x100
sub rbx, rax
add rdi, 2
lea r8, [rbx - 9]
xor edx, edx
lea rcx, [rbp + 0xc1]
call fcn.180082af0
rol rdi, 0x20
mov r8, rbx
mov rdx, rdi
mov rax, rdi
shr rdx, 0x10
shl rax, 0x10
xor rdx, rax
shl rdi, 0x10
movabs rax, 0xffff0000ffff
and rdx, rax
xor rdx, rdi
mov rcx, rdx
mov rax, rdx
shr rcx, 8
shl rax, 8
xor rcx, rax
shl rdx, 8
movabs rax, 0xff00ff00ff00ff
and rcx, rax
xor rcx, rdx
lea rdx, [rbp + 0xc0]
mov qword [rbp + rbx + 0xb8], rcx
mov rcx, rsi
call fcn.180038500
lea rax, [rsi + 0x88]
mov ecx, 1
movups xmm0, xmmword [rax]
mov qword [rsp + 0x28], rcx
lea r10, [0x180000000]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x40], xmm0
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x50], xmm1
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x60], xmm0
movups xmm0, xmmword [rax + 0x40]
movaps xmmword [rbp + 0x70], xmm1
movups xmm1, xmmword [rax + 0x50]
movaps xmmword [rbp + 0x80], xmm0
movups xmm0, xmmword [rax + 0x60]
movaps xmmword [rbp + 0x90], xmm1
movups xmm1, xmmword [rax + 0x70]
movaps xmmword [rbp + 0xa0], xmm0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0xb0], xmm1
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x40], xmm0
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp - 0x30], xmm1
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rax + 0x40]
movaps xmmword [rbp - 0x10], xmm1
movups xmm1, xmmword [rax + 0x50]
movaps xmmword [rbp], xmm0
movups xmm0, xmmword [rax + 0x60]
movaps xmmword [rbp + 0x10], xmm1
movups xmm1, xmmword [rax + 0x70]
xor eax, eax
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x30], xmm1
mov dword [rsp + 0x20], eax
nop word [rax + rax]
movd xmm4, eax
mov edx, 0xf
lea rax, [rcx - 1]
pshufd xmm4, xmm4, 0
xor qword [rbp - 0x40], rax
lea rax, [rbp - 0x38]
add rcx, 0xf
nop
xor qword [rax], rcx
lea rax, [rax + 8]
add rcx, 0x10
sub rdx, 1
jne 0x18003afe0
movzx eax, byte [rbp - 0x37]
mov rcx, qword [rbp + 0x18]
mov rdi, qword [rbp - 0x40]
mov r13, qword [rbp + 0x20]
mov r9, qword [rbp - 0x38]
mov r12, qword [rbp + 0x28]
mov r8, qword [rbp - 0x30]
mov r15, qword [rbp + 0x30]
mov rsi, qword [rbp - 0x28]
mov r14, qword [rbp + 0x38]
shr rcx, 0x38
mov rdx, qword [r10 + rcx*8 + 0xa44f0]
mov rcx, r13
xor rdx, qword [r10 + rax*8 + 0xa34f0]
shr rcx, 0x38
movzx eax, dil
xor rdx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x2e]
xor rdx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x25]
xor rdx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x1c]
xor rdx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x13]
xor rdx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0xa]
xor rdx, qword [r10 + rax*8 + 0xa24f0]
mov qword [rsp + 0x30], rdx
mov rdx, qword [r10 + rcx*8 + 0xa44f0]
mov rcx, r12
shr rcx, 0x38
movzx eax, r9b
xor rdx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x2f]
xor rdx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x26]
xor rdx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x1d]
xor rdx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x14]
xor rdx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0xb]
xor rdx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 2]
xor rdx, qword [r10 + rax*8 + 0xa24f0]
mov qword [rsp + 0x38], rdx
mov rdx, qword [r10 + rcx*8 + 0xa44f0]
mov rcx, r15
movzx eax, r8b
shr rcx, 0x38
xor rdx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x27]
xor rdx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x1e]
xor rdx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x15]
xor rdx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0xc]
xor rdx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 3]
xor rdx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 6]
xor rdx, qword [r10 + rax*8 + 0xa24f0]
mov qword [rsp + 0x40], rdx
mov rdx, qword [r10 + rcx*8 + 0xa44f0]
mov rcx, r14
movzx eax, sil
xor rdx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x1f]
xor rdx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x16]
xor rdx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0xd]
xor rdx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 4]
xor rdx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp + 5]
xor rdx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0xe]
xor rdx, qword [r10 + rax*8 + 0xa24f0]
mov qword [rsp + 0x48], rdx
mov r11, qword [rbp - 0x20]
mov rbx, qword [rbp - 0x18]
shr rcx, 0x38
movzx eax, r11b
shr rdi, 0x38
shr r9, 0x38
mov rdx, qword [r10 + rcx*8 + 0xa44f0]
xor rdx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x17]
mov rcx, qword [r10 + rdi*8 + 0xa44f0]
shr r8, 0x38
shr rsi, 0x38
xor rdx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0xe]
xor rdx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 5]
xor rdx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp + 4]
xor rdx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp + 0xd]
xor rdx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0x16]
xor rdx, qword [r10 + rax*8 + 0xa24f0]
movzx eax, bl
mov qword [rsp + 0x50], rdx
lea rdx, [0x180000000]
xor rcx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0xf]
xor rcx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 6]
xor rcx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp + 3]
xor rcx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp + 0xc]
xor rcx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp + 0x15]
xor rcx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0x1e]
xor rcx, qword [r10 + rax*8 + 0xa24f0]
mov r10, qword [rbp - 0x10]
mov qword [rsp + 0x58], rcx
mov rcx, qword [rdx + r9*8 + 0xa44f0]
mov r9, qword [rbp - 8]
movzx eax, r10b
xor rcx, qword [rdx + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 7]
xor rcx, qword [rdx + rax*8 + 0xa34f0]
movzx eax, byte [rbp + 2]
xor rcx, qword [rdx + rax*8 + 0xa4cf0]
movzx eax, byte [rbp + 0xb]
xor rcx, qword [rdx + rax*8 + 0xa3cf0]
movzx eax, byte [rbp + 0x14]
xor rcx, qword [rdx + rax*8 + 0xa5cf0]
movzx eax, byte [rbp + 0x1d]
xor rcx, qword [rdx + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0x26]
xor rcx, qword [rdx + rax*8 + 0xa24f0]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rdx + r8*8 + 0xa44f0]
mov r8, qword [rbp]
movzx eax, r9b
xor rcx, qword [rdx + rax*8 + 0xa2cf0]
movzx eax, byte [rbp + 1]
xor rcx, qword [rdx + rax*8 + 0xa34f0]
movzx eax, byte [rbp + 0xa]
xor rcx, qword [rdx + rax*8 + 0xa4cf0]
movzx eax, byte [rbp + 0x13]
xor rcx, qword [rdx + rax*8 + 0xa3cf0]
movzx eax, byte [rbp + 0x1c]
xor rcx, qword [rdx + rax*8 + 0xa5cf0]
movzx eax, byte [rbp + 0x25]
xor rcx, qword [rdx + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0x2e]
xor rcx, qword [rdx + rax*8 + 0xa24f0]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rdx + rsi*8 + 0xa44f0]
movzx eax, r8b
xor rcx, qword [rdx + rax*8 + 0xa2cf0]
movzx eax, byte [rbp + 9]
xor rcx, qword [rdx + rax*8 + 0xa34f0]
movzx eax, byte [rbp + 0x12]
xor rcx, qword [rdx + rax*8 + 0xa4cf0]
movzx eax, byte [rbp + 0x1b]
mov rdi, qword [rbp + 8]
shr r11, 0x38
shr rbx, 0x38
xor rcx, qword [rdx + rax*8 + 0xa3cf0]
movzx eax, byte [rbp + 0x24]
shr r10, 0x38
shr r9, 0x38
xor rcx, qword [rdx + rax*8 + 0xa5cf0]
movzx eax, byte [rbp + 0x2d]
xor rcx, qword [rdx + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0x36]
xor rcx, qword [rdx + rax*8 + 0xa24f0]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rdx + r11*8 + 0xa44f0]
lea r11, [0x180000000]
movzx eax, dil
xor rcx, qword [rdx + rax*8 + 0xa2cf0]
movzx eax, byte [rbp + 0x11]
xor rcx, qword [rdx + rax*8 + 0xa34f0]
movzx eax, byte [rbp + 0x1a]
xor rcx, qword [rdx + rax*8 + 0xa4cf0]
movzx eax, byte [rbp + 0x23]
xor rcx, qword [rdx + rax*8 + 0xa3cf0]
movzx eax, byte [rbp + 0x2c]
xor rcx, qword [rdx + rax*8 + 0xa5cf0]
movzx eax, byte [rbp + 0x35]
xor rcx, qword [rdx + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0x3e]
xor rcx, qword [rdx + rax*8 + 0xa24f0]
mov rdx, qword [rbp + 0x10]
mov qword [rsp + 0x78], rcx
mov rcx, qword [r11 + rbx*8 + 0xa44f0]
movzx eax, dl
xor rcx, qword [r11 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp + 0x19]
xor rcx, qword [r11 + rax*8 + 0xa34f0]
movzx eax, byte [rbp + 0x22]
xor rcx, qword [r11 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp + 0x2b]
xor rcx, qword [r11 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp + 0x34]
xor rcx, qword [r11 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x3a]
xor rcx, qword [r11 + rax*8 + 0xa24f0]
movzx eax, byte [rbp + 0x3d]
xor rcx, qword [r11 + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0x21]
mov qword [rbp - 0x80], rcx
mov rcx, qword [r11 + r10*8 + 0xa44f0]
lea r10, [0x180000000]
xor rcx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp + 0x2a]
xor rcx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp + 0x33]
xor rcx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x3b]
xor rcx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0x3c]
xor rcx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x32]
xor rcx, qword [r10 + rax*8 + 0xa24f0]
movzx eax, byte [rbp + 0x18]
xor rcx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp + 0x29]
mov qword [rbp - 0x78], rcx
mov rcx, qword [r10 + r9*8 + 0xa44f0]
xor rcx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp + 0x32]
xor rcx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x3c]
xor rcx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp + 0x3b]
xor rcx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x33]
xor rcx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0x2a]
xor rcx, qword [r10 + rax*8 + 0xa24f0]
movzx eax, r13b
xor rcx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp + 0x31]
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
mov qword [rbp - 0x70], rcx
shr r8, 0x38
shr rdi, 0x38
shr rdx, 0x38
mov rcx, qword [r10 + r8*8 + 0xa44f0]
xor rcx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x3d]
xor rcx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp + 0x3a]
xor rcx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x34]
xor rcx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x2b]
xor rcx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0x22]
xor rcx, qword [r10 + rax*8 + 0xa24f0]
movzx eax, r12b
xor rcx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x3e]
mov qword [rbp - 0x68], rcx
mov rcx, qword [r10 + rdi*8 + 0xa44f0]
xor rcx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp + 0x39]
xor rcx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x35]
xor rcx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x2c]
xor rcx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x23]
xor rcx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0x1a]
xor rcx, qword [r10 + rax*8 + 0xa24f0]
movzx eax, r15b
xor rcx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x3f]
mov qword [rbp - 0x60], rcx
mov rcx, qword [r10 + rdx*8 + 0xa44f0]
xor rcx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x36]
movups xmmword [rbp - 0x40], xmm0
movaps xmm0, xmmword [rsp + 0x50]
xor rcx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x2d]
xor rcx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x24]
movups xmmword [rbp - 0x30], xmm1
movaps xmm1, xmmword [rsp + 0x60]
xor rcx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x1b]
movups xmmword [rbp - 0x10], xmm1
movaps xmm1, xmmword [rbp - 0x80]
xor rcx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0x12]
movups xmmword [rbp - 0x20], xmm0
movaps xmm0, xmmword [rsp + 0x70]
xor rcx, qword [r10 + rax*8 + 0xa24f0]
movzx eax, r14b
movups xmmword [rbp], xmm0
movaps xmm0, xmmword [rbp - 0x70]
xor rcx, qword [r10 + rax*8 + 0xa2cf0]
cmp dword [0x1800e1018], 2
mov qword [rbp - 0x58], rcx
movups xmmword [rbp + 0x10], xmm1
movaps xmm1, xmmword [rbp - 0x60]
movups xmmword [rbp + 0x30], xmm1
movups xmmword [rbp + 0x20], xmm0
jl 0x18003b79d
movdqa xmm5, xmmword [0x1800da910]
mov eax, 4
movdqa xmm7, xmmword [0x1800da8e0]
xor edx, edx
movd xmm6, eax
lea rax, [rbp - 0x30]
nop dword [rax + rax]
movd xmm2, edx
lea ecx, [rdx + 2]
pshufd xmm2, xmm2, 0
lea rax, [rax + 0x20]
movq xmm0, xmm5
movd xmm3, ecx
paddd xmm2, xmm0
pshufd xmm3, xmm3, 0
movq xmm1, xmm6
movq xmm0, xmm7
pslld xmm2, xmm1
movq xmm1, xmm4
add edx, 4
paddd xmm2, xmm0
paddd xmm2, xmm1
movq xmm1, xmm6
movdqu xmm0, xmmword [rax - 0x30]
pmovsxdq xmm2, xmm2
pxor xmm2, xmm0
movq xmm0, xmm5
paddd xmm3, xmm0
movq xmm0, xmm7
movdqu xmmword [rax - 0x30], xmm2
pslld xmm3, xmm1
movq xmm1, xmm4
paddd xmm3, xmm0
paddd xmm3, xmm1
movdqu xmm0, xmmword [rax - 0x20]
pmovsxdq xmm2, xmm3
pxor xmm2, xmm0
movdqu xmmword [rax - 0x20], xmm2
cmp edx, 0x10
jl 0x18003b710
jmp 0x18003b7c1
mov rcx, qword [rsp + 0x28]
lea rax, [rbp - 0x40]
mov edx, 0x10
nop dword [rax + rax]
xor qword [rax], rcx
lea rax, [rax + 8]
add rcx, 0x10
sub rdx, 1
jne 0x18003b7b0
movzx eax, byte [rbp - 0x37]
mov rcx, qword [rbp + 0x18]
mov rdi, qword [rbp - 0x40]
mov r13, qword [rbp + 0x20]
mov r9, qword [rbp - 0x38]
mov r12, qword [rbp + 0x28]
mov r8, qword [rbp - 0x30]
mov r15, qword [rbp + 0x30]
mov rsi, qword [rbp - 0x28]
mov r14, qword [rbp + 0x38]
shr rcx, 0x38
mov rdx, qword [r10 + rcx*8 + 0xa44f0]
mov rcx, r13
xor rdx, qword [r10 + rax*8 + 0xa34f0]
shr rcx, 0x38
movzx eax, dil
xor rdx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x2e]
xor rdx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x25]
xor rdx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x1c]
xor rdx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x13]
xor rdx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0xa]
xor rdx, qword [r10 + rax*8 + 0xa24f0]
mov qword [rsp + 0x30], rdx
mov rdx, qword [r10 + rcx*8 + 0xa44f0]
mov rcx, r12
shr rcx, 0x38
movzx eax, r9b
xor rdx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x2f]
xor rdx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x26]
xor rdx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x1d]
xor rdx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x14]
xor rdx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0xb]
xor rdx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 2]
xor rdx, qword [r10 + rax*8 + 0xa24f0]
mov qword [rsp + 0x38], rdx
mov rdx, qword [r10 + rcx*8 + 0xa44f0]
mov rcx, r15
movzx eax, r8b
shr rcx, 0x38
xor rdx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x27]
xor rdx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x1e]
xor rdx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x15]
xor rdx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0xc]
xor rdx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 3]
xor rdx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 6]
xor rdx, qword [r10 + rax*8 + 0xa24f0]
mov qword [rsp + 0x40], rdx
mov rdx, qword [r10 + rcx*8 + 0xa44f0]
mov rcx, r14
movzx eax, sil
xor rdx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x1f]
xor rdx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x16]
xor rdx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0xd]
xor rdx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 4]
xor rdx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp + 5]
xor rdx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0xe]
xor rdx, qword [r10 + rax*8 + 0xa24f0]
mov qword [rsp + 0x48], rdx
mov r11, qword [rbp - 0x20]
mov rbx, qword [rbp - 0x18]
shr rcx, 0x38
movzx eax, r11b
shr rdi, 0x38
shr r9, 0x38
mov rdx, qword [r10 + rcx*8 + 0xa44f0]
xor rdx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x17]
mov rcx, qword [r10 + rdi*8 + 0xa44f0]
shr r8, 0x38
shr rsi, 0x38
xor rdx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0xe]
xor rdx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 5]
xor rdx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp + 4]
xor rdx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp + 0xd]
xor rdx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0x16]
xor rdx, qword [r10 + rax*8 + 0xa24f0]
movzx eax, bl
mov qword [rsp + 0x50], rdx
lea rdx, [0x180000000]
xor rcx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0xf]
xor rcx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 6]
xor rcx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp + 3]
xor rcx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp + 0xc]
xor rcx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp + 0x15]
xor rcx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0x1e]
xor rcx, qword [r10 + rax*8 + 0xa24f0]
mov r10, qword [rbp - 0x10]
mov qword [rsp + 0x58], rcx
mov rcx, qword [rdx + r9*8 + 0xa44f0]
mov r9, qword [rbp - 8]
movzx eax, r10b
xor rcx, qword [rdx + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 7]
xor rcx, qword [rdx + rax*8 + 0xa34f0]
movzx eax, byte [rbp + 2]
xor rcx, qword [rdx + rax*8 + 0xa4cf0]
movzx eax, byte [rbp + 0xb]
xor rcx, qword [rdx + rax*8 + 0xa3cf0]
movzx eax, byte [rbp + 0x14]
xor rcx, qword [rdx + rax*8 + 0xa5cf0]
movzx eax, byte [rbp + 0x1d]
xor rcx, qword [rdx + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0x26]
xor rcx, qword [rdx + rax*8 + 0xa24f0]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rdx + r8*8 + 0xa44f0]
mov r8, qword [rbp]
movzx eax, r9b
xor rcx, qword [rdx + rax*8 + 0xa2cf0]
movzx eax, byte [rbp + 1]
xor rcx, qword [rdx + rax*8 + 0xa34f0]
movzx eax, byte [rbp + 0xa]
xor rcx, qword [rdx + rax*8 + 0xa4cf0]
movzx eax, byte [rbp + 0x13]
xor rcx, qword [rdx + rax*8 + 0xa3cf0]
movzx eax, byte [rbp + 0x1c]
xor rcx, qword [rdx + rax*8 + 0xa5cf0]
movzx eax, byte [rbp + 0x25]
xor rcx, qword [rdx + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0x2e]
xor rcx, qword [rdx + rax*8 + 0xa24f0]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rdx + rsi*8 + 0xa44f0]
movzx eax, r8b
xor rcx, qword [rdx + rax*8 + 0xa2cf0]
movzx eax, byte [rbp + 9]
xor rcx, qword [rdx + rax*8 + 0xa34f0]
movzx eax, byte [rbp + 0x12]
xor rcx, qword [rdx + rax*8 + 0xa4cf0]
movzx eax, byte [rbp + 0x1b]
mov rdi, qword [rbp + 8]
shr r11, 0x38
shr rbx, 0x38
xor rcx, qword [rdx + rax*8 + 0xa3cf0]
movzx eax, byte [rbp + 0x24]
shr r10, 0x38
shr r9, 0x38
xor rcx, qword [rdx + rax*8 + 0xa5cf0]
movzx eax, byte [rbp + 0x2d]
xor rcx, qword [rdx + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0x36]
xor rcx, qword [rdx + rax*8 + 0xa24f0]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rdx + r11*8 + 0xa44f0]
lea r11, [0x180000000]
movzx eax, dil
xor rcx, qword [rdx + rax*8 + 0xa2cf0]
movzx eax, byte [rbp + 0x11]
xor rcx, qword [rdx + rax*8 + 0xa34f0]
movzx eax, byte [rbp + 0x1a]
xor rcx, qword [rdx + rax*8 + 0xa4cf0]
movzx eax, byte [rbp + 0x23]
xor rcx, qword [rdx + rax*8 + 0xa3cf0]
movzx eax, byte [rbp + 0x2c]
xor rcx, qword [rdx + rax*8 + 0xa5cf0]
movzx eax, byte [rbp + 0x35]
xor rcx, qword [rdx + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0x3e]
xor rcx, qword [rdx + rax*8 + 0xa24f0]
mov rdx, qword [rbp + 0x10]
mov qword [rsp + 0x78], rcx
mov rcx, qword [r11 + rbx*8 + 0xa44f0]
movzx eax, dl
xor rcx, qword [r11 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp + 0x19]
xor rcx, qword [r11 + rax*8 + 0xa34f0]
movzx eax, byte [rbp + 0x22]
xor rcx, qword [r11 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp + 0x2b]
xor rcx, qword [r11 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp + 0x34]
xor rcx, qword [r11 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x3a]
xor rcx, qword [r11 + rax*8 + 0xa24f0]
movzx eax, byte [rbp + 0x3d]
xor rcx, qword [r11 + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0x21]
mov qword [rbp - 0x80], rcx
mov rcx, qword [r11 + r10*8 + 0xa44f0]
lea r10, [0x180000000]
xor rcx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp + 0x2a]
xor rcx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp + 0x33]
xor rcx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x3b]
xor rcx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp + 0x3c]
xor rcx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x32]
xor rcx, qword [r10 + rax*8 + 0xa24f0]
movzx eax, byte [rbp + 0x18]
xor rcx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp + 0x29]
mov qword [rbp - 0x78], rcx
mov rcx, qword [r10 + r9*8 + 0xa44f0]
xor rcx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp + 0x32]
xor rcx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x3c]
xor rcx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp + 0x3b]
xor rcx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x33]
xor rcx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0x2a]
xor rcx, qword [r10 + rax*8 + 0xa24f0]
movzx eax, r13b
xor rcx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp + 0x31]
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
mov qword [rbp - 0x70], rcx
shr r8, 0x38
shr rdi, 0x38
shr rdx, 0x38
mov rcx, qword [r10 + r8*8 + 0xa44f0]
xor rcx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x3d]
xor rcx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp + 0x3a]
xor rcx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x34]
xor rcx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x2b]
xor rcx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0x22]
xor rcx, qword [r10 + rax*8 + 0xa24f0]
movzx eax, r12b
xor rcx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x3e]
mov qword [rbp - 0x68], rcx
mov rcx, qword [r10 + rdi*8 + 0xa44f0]
xor rcx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp + 0x39]
xor rcx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x35]
xor rcx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x2c]
xor rcx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x23]
xor rcx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0x1a]
xor rcx, qword [r10 + rax*8 + 0xa24f0]
movzx eax, r15b
xor rcx, qword [r10 + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x3f]
mov qword [rbp - 0x60], rcx
mov rcx, qword [r10 + rdx*8 + 0xa44f0]
xor rcx, qword [r10 + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x36]
movups xmmword [rbp - 0x40], xmm0
movaps xmm0, xmmword [rsp + 0x50]
xor rcx, qword [r10 + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x2d]
xor rcx, qword [r10 + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x24]
movups xmmword [rbp - 0x30], xmm1
movaps xmm1, xmmword [rsp + 0x60]
xor rcx, qword [r10 + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x1b]
movups xmmword [rbp - 0x10], xmm1
movaps xmm1, xmmword [rbp - 0x80]
xor rcx, qword [r10 + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0x12]
movups xmmword [rbp - 0x20], xmm0
movaps xmm0, xmmword [rsp + 0x70]
xor rcx, qword [r10 + rax*8 + 0xa24f0]
movzx eax, r14b
movups xmmword [rbp], xmm0
movaps xmm0, xmmword [rbp - 0x70]
xor rcx, qword [r10 + rax*8 + 0xa2cf0]
mov eax, dword [rsp + 0x20]
mov qword [rbp - 0x58], rcx
add eax, 2
mov rcx, qword [rsp + 0x28]
add rcx, 2
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x28], rcx
movups xmmword [rbp + 0x10], xmm1
movaps xmm1, xmmword [rbp - 0x60]
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm1
cmp eax, 0xe
jl 0x18003afc0
xor r8d, r8d
mov eax, r8d
nop word [rax + rax]
movdqu xmm0, xmmword [rbp + rax + 0x40]
movdqu xmm1, xmmword [rbp + rax - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rbp + rax + 0x40], xmm1
movdqu xmm0, xmmword [rbp + rax + 0x50]
movdqu xmm1, xmmword [rbp + rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rbp + rax + 0x50], xmm1
add rax, 0x20
cmp rax, 0x80
jb 0x18003bee0
mov rdx, qword [rbp - 0x48]
mov ecx, 0xf
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0xc0], rax
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0xc8], rax
lea rdi, [rdx + 0x88]
mov rax, qword [rbp + 0x90]
movaps xmm0, xmmword [rbp + 0xc0]
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0xd8], rax
mov rax, qword [rbp + 0xa0]
movaps xmm1, xmmword [rbp + 0xd0]
mov qword [rbp + 0xe0], rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0xf8], rax
mov rax, qword [rbp - 0x50]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [rbp + 0xe0]
movups xmmword [rax + 0x10], xmm1
movaps xmm1, xmmword [rbp + 0xf0]
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm1
xor eax, eax
mov qword [rdx + 0x80], r8
rep stosq qword [rdi], rax
movabs rax, 0x2000000000000
mov qword [rdx + 0x100], rax
mov qword [rdx + 0x108], r8
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.1800810a0
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret