Function at 0x1800361f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r14
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov rdi, qword [rcx + 0x40]
mov eax, 0x40
sub rax, rdi
mov qword [rsp + 0x68], rcx
mov rsi, r8
mov r14, rdx
mov r12, rcx
cmp r8, rax
jae 0x18003624d
add rcx, rdi
call fcn.180082090
lea rax, [rsi + rdi]
mov qword [r12 + 0x40], rax
jmp 0x1800378fa
movups xmm0, xmmword [rcx + 0x48]
movups xmm1, xmmword [rcx + 0x58]
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x50], xmm1
movups xmm2, xmmword [rcx + 0x68]
movups xmm3, xmmword [rcx + 0x78]
movaps xmmword [rbp + 0x60], xmm2
movaps xmmword [rbp + 0x70], xmm3
test rsi, rsi
je 0x1800378dd
mov qword [rsp + 0x208], rbx
mov qword [rsp + 0x1b8], r13
mov qword [rsp + 0x1b0], r15
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x190], xmm7
nop
mov ebx, 0x40
lea rcx, [r12 + rdi]
sub rbx, rdi
mov rdx, r14
cmp rbx, rsi
cmova rbx, rsi
mov r8, rbx
call fcn.180082090
add r14, rbx
sub rsi, rbx
add rdi, rbx
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x50], rsi
cmp rdi, 0x40
jne 0x18003789c
mov rax, qword [r12]
mov r13d, 0x20
mov r9, qword [rbp + 0x40]
mov r10, qword [rbp + 0x48]
xor r9, rax
mov r11, qword [rbp + 0x50]
mov rbx, qword [rbp + 0x58]
mov rdi, qword [rbp + 0x60]
mov rsi, qword [rbp + 0x68]
mov r14, qword [rbp + 0x70]
mov r15, qword [rbp + 0x78]
mov qword [rbp - 0x58], rax
mov rax, qword [r12 + 8]
xor r10, rax
mov qword [rsp + 0x70], rax
mov rax, qword [r12 + 0x10]
xor r11, rax
mov qword [rsp + 0x78], rax
mov rax, qword [r12 + 0x18]
xor rbx, rax
mov qword [rbp - 0x80], rax
mov rax, qword [r12 + 0x20]
xor rdi, rax
mov qword [rbp - 0x78], rax
mov rax, qword [r12 + 0x28]
xor rsi, rax
mov qword [rbp - 0x70], rax
mov rax, qword [r12 + 0x30]
xor r14, rax
mov qword [rbp - 0x68], rax
mov rax, qword [r12 + 0x38]
xor r15, rax
mov qword [rbp - 0x60], rax
xor r12d, r12d
lea rax, [r13 - 0x20]
movd xmm4, r12d
xor r9, rax
pshufd xmm4, xmm4, 0
lea rax, [r13 - 0x10]
xor r11, r13
xor r10, rax
lea r8, [0x180000000]
lea rax, [r13 + 0x10]
xor rbx, rax
lea rax, [r13 + 0x20]
xor rdi, rax
lea rax, [r13 + 0x30]
xor rsi, rax
lea rax, [r13 + 0x40]
xor r14, rax
lea rax, [r13 + 0x50]
xor r15, rax
mov rax, r14
shr rax, 0x30
movzx edx, al
mov rax, rsi
shr rax, 0x28
movzx ecx, al
mov rax, rdi
shr rax, 0x20
mov r8, qword [r8 + rdx*8 + 0xa24f0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa54f0]
movzx ecx, al
mov rax, rbx
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
movzx ecx, al
mov rax, r11
shr rax, 0x10
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
movzx ecx, al
mov rax, r10
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
movzx ecx, al
mov rax, r15
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa34f0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, r9b
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, r15
shr rax, 0x30
movzx edx, al
mov rax, r14
shr rax, 0x28
movzx ecx, al
mov rax, rsi
shr rax, 0x20
mov qword [rsp + 0x20], r8
lea r8, [0x180000000]
mov r8, qword [r8 + rdx*8 + 0xa24f0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa54f0]
movzx ecx, al
mov rax, rdi
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
movzx ecx, al
mov rax, rbx
shr rax, 0x10
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
movzx ecx, al
mov rax, r11
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
movzx ecx, al
mov rax, r9
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa34f0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, r10b
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov qword [rsp + 0x28], r8
mov rax, r15
lea r8, [0x180000000]
shr rax, 0x28
movzx edx, al
mov rax, r14
shr rax, 0x20
movzx ecx, al
mov rax, rsi
shr rax, 0x18
mov r8, qword [r8 + rdx*8 + 0xa54f0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
movzx ecx, al
mov rax, rdi
shr rax, 0x10
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
movzx ecx, al
mov rax, rbx
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
movzx ecx, al
mov rax, r9
shr rax, 0x30
xor r8, qword [rdx + rcx*8 + 0xa34f0]
movzx ecx, al
mov rax, r10
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa24f0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, r11b
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, r15
shr rax, 0x20
movzx edx, al
mov rax, r14
shr rax, 0x18
movzx ecx, al
mov rax, rsi
shr rax, 0x10
mov qword [rsp + 0x30], r8
lea r8, [0x180000000]
mov r8, qword [r8 + rdx*8 + 0xa5cf0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
movzx ecx, al
mov rax, rdi
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
movzx ecx, al
mov rax, r10
shr rax, 0x30
xor r8, qword [rdx + rcx*8 + 0xa34f0]
movzx ecx, al
mov rax, r9
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0xa24f0]
movzx ecx, al
mov rax, r11
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa54f0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, bl
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, r15
shr rax, 0x18
movzx edx, al
mov rax, r14
shr rax, 0x10
movzx ecx, al
mov rax, rsi
mov qword [rsp + 0x38], r8
lea r8, [0x180000000]
mov r8, qword [r8 + rdx*8 + 0xa3cf0]
lea rdx, [0x180000000]
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
movzx ecx, al
mov rax, r11
xor r8, qword [rdx + rcx*8 + 0xa34f0]
shr rax, 0x30
movzx ecx, al
xor r8, qword [rdx + rcx*8 + 0xa24f0]
mov rax, r10
shr rax, 0x28
movzx ecx, al
mov rax, r9
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0xa54f0]
movzx ecx, al
mov rax, rbx
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, dil
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, r15
shr rax, 0x10
movzx edx, al
mov rax, r14
shr rax, 8
movzx ecx, al
mov rax, rbx
shr rax, 0x30
mov qword [rsp + 0x40], r8
lea r8, [0x180000000]
mov r8, qword [r8 + rdx*8 + 0xa4cf0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa34f0]
movzx ecx, al
mov rax, r11
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0xa24f0]
movzx ecx, al
mov rax, r10
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0xa54f0]
movzx ecx, al
mov rax, r9
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
movzx ecx, al
mov rax, rdi
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, sil
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, r15
shr rax, 8
movzx edx, al
mov rax, rdi
shr rax, 0x30
movzx ecx, al
mov rax, rbx
shr rax, 0x28
mov qword [rsp + 0x48], r8
lea r8, [0x180000000]
mov r8, qword [r8 + rdx*8 + 0xa34f0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa24f0]
movzx ecx, al
mov rax, r11
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0xa54f0]
movzx ecx, al
mov rax, r10
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
movzx ecx, al
mov rax, r9
shr rax, 0x10
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
movzx ecx, al
mov rax, rsi
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, r14b
xor r8, qword [rdx + rax*8 + 0xa2cf0]
shr rsi, 0x30
movzx ecx, sil
mov qword [rsp + 0x50], r8
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
shr rdi, 0x28
movzx eax, dil
lea rdi, [0x180000000]
mov rdx, qword [rdi + rcx*8 + 0xa24f0]
shr rbx, 0x20
shr r11, 0x18
xor rdx, qword [rdi + rax*8 + 0xa54f0]
movzx eax, bl
shr r10, 0x10
shr r9, 8
shr r14, 0x38
xor rdx, qword [rdi + rax*8 + 0xa5cf0]
movzx eax, r11b
movups xmmword [rbp - 0x40], xmm0
movaps xmm0, xmmword [rsp + 0x40]
xor rdx, qword [rdi + rax*8 + 0xa3cf0]
movzx eax, r10b
movups xmmword [rbp - 0x30], xmm1
movups xmmword [rbp - 0x20], xmm0
xor rdx, qword [rdi + rax*8 + 0xa4cf0]
movzx eax, r9b
xor rdx, qword [rdi + rax*8 + 0xa34f0]
xor rdx, qword [rdi + r14*8 + 0xa44f0]
movzx eax, r15b
xor rdx, qword [rdi + rax*8 + 0xa2cf0]
cmp dword [0x1800e1018], 2
mov qword [rsp + 0x58], rdx
movaps xmm1, xmmword [rsp + 0x50]
movups xmmword [rbp - 0x10], xmm1
jl 0x18003693d
movdqa xmm5, xmmword [0x1800da910]
mov eax, 4
movdqa xmm7, xmmword [0x1800da8e0]
xor edx, edx
movd xmm6, eax
lea rax, [rbp - 0x30]
nop dword [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, 8
jl 0x1800368b0
jmp 0x180036961
lea rax, [rbp - 0x40]
mov edx, 8
lea rcx, [r13 - 0x1f]
nop word [rax + rax]
xor qword [rax], rcx
lea rax, [rax + 8]
add rcx, 0x10
sub rdx, 1
jne 0x180036950
movzx eax, byte [rbp - 0x37]
mov r8, qword [rbp - 8]
mov rcx, r8
shr rcx, 0x38
mov rdx, qword [rdi + rcx*8 + 0xa44f0]
xor rdx, qword [rdi + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x2e]
mov rcx, qword [rbp - 0x40]
xor rdx, qword [rdi + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x25]
xor rdx, qword [rdi + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x1c]
xor rdx, qword [rdi + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x13]
xor rdx, qword [rdi + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0xa]
xor rdx, qword [rdi + rax*8 + 0xa24f0]
movzx eax, cl
shr rcx, 0x38
xor rdx, qword [rdi + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x2f]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rdi + rcx*8 + 0xa44f0]
mov rcx, qword [rbp - 0x38]
xor rdx, qword [rdi + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x26]
xor rdx, qword [rdi + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x1d]
xor rdx, qword [rdi + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x14]
xor rdx, qword [rdi + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0xb]
xor rdx, qword [rdi + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 2]
xor rdx, qword [rdi + rax*8 + 0xa24f0]
movzx eax, cl
shr rcx, 0x38
xor rdx, qword [rdi + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x27]
mov qword [rsp + 0x28], rdx
mov rdx, qword [rdi + rcx*8 + 0xa44f0]
mov rcx, qword [rbp - 0x30]
xor rdx, qword [rdi + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x1e]
xor rdx, qword [rdi + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x15]
xor rdx, qword [rdi + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0xc]
xor rdx, qword [rdi + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 3]
xor rdx, qword [rdi + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0x3a]
xor rdx, qword [rdi + rax*8 + 0xa24f0]
movzx eax, cl
shr rcx, 0x38
xor rdx, qword [rdi + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x1f]
mov qword [rsp + 0x30], rdx
mov rdx, qword [rdi + rcx*8 + 0xa44f0]
mov rcx, qword [rbp - 0x28]
xor rdx, qword [rdi + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x16]
xor rdx, qword [rdi + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0xd]
xor rdx, qword [rdi + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 4]
xor rdx, qword [rdi + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x3b]
xor rdx, qword [rdi + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0x32]
xor rdx, qword [rdi + rax*8 + 0xa24f0]
movzx eax, cl
shr rcx, 0x38
xor rdx, qword [rdi + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x17]
mov qword [rsp + 0x38], rdx
mov rdx, qword [rdi + rcx*8 + 0xa44f0]
xor rdx, qword [rdi + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0xe]
xor rdx, qword [rdi + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 5]
xor rdx, qword [rdi + rax*8 + 0xa3cf0]
add r12d, 2
movzx eax, byte [rbp - 0x3c]
add r13, 2
mov rcx, qword [rbp - 0x20]
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
xor rdx, qword [rdi + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x33]
xor rdx, qword [rdi + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0x2a]
xor rdx, qword [rdi + rax*8 + 0xa24f0]
movzx eax, cl
shr rcx, 0x38
xor rdx, qword [rdi + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0xf]
mov qword [rsp + 0x40], rdx
mov rdx, qword [rdi + rcx*8 + 0xa44f0]
mov rcx, qword [rbp - 0x18]
xor rdx, qword [rdi + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 6]
xor rdx, qword [rdi + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x3d]
xor rdx, qword [rdi + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x34]
xor rdx, qword [rdi + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x2b]
xor rdx, qword [rdi + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0x22]
xor rdx, qword [rdi + rax*8 + 0xa24f0]
movzx eax, cl
shr rcx, 0x38
xor rdx, qword [rdi + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 7]
mov qword [rsp + 0x48], rdx
mov rdx, qword [rdi + rcx*8 + 0xa44f0]
mov rcx, qword [rbp - 0x10]
xor rdx, qword [rdi + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x3e]
xor rdx, qword [rdi + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x35]
xor rdx, qword [rdi + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x2c]
xor rdx, qword [rdi + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x23]
xor rdx, qword [rdi + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0x1a]
xor rdx, qword [rdi + rax*8 + 0xa24f0]
movzx eax, cl
shr rcx, 0x38
xor rdx, qword [rdi + rax*8 + 0xa2cf0]
movzx eax, byte [rbp - 0x3f]
mov qword [rsp + 0x50], rdx
mov rdx, qword [rdi + rcx*8 + 0xa44f0]
xor rdx, qword [rdi + rax*8 + 0xa34f0]
movzx eax, byte [rbp - 0x36]
movups xmmword [rbp - 0x40], xmm0
movaps xmm0, xmmword [rsp + 0x40]
xor rdx, qword [rdi + rax*8 + 0xa4cf0]
movzx eax, byte [rbp - 0x2d]
xor rdx, qword [rdi + rax*8 + 0xa3cf0]
movzx eax, byte [rbp - 0x24]
movups xmmword [rbp - 0x30], xmm1
xor rdx, qword [rdi + rax*8 + 0xa5cf0]
movzx eax, byte [rbp - 0x1b]
xor rdx, qword [rdi + rax*8 + 0xa54f0]
movzx eax, byte [rbp - 0x12]
movups xmmword [rbp - 0x20], xmm0
xor rdx, qword [rdi + rax*8 + 0xa24f0]
movzx eax, r8b
xor rdx, qword [rdi + rax*8 + 0xa2cf0]
mov qword [rsp + 0x58], rdx
movaps xmm1, xmmword [rsp + 0x50]
movups xmmword [rbp - 0x10], xmm1
cmp r12d, 0xa
jge 0x180036cfc
mov r15, qword [rbp - 8]
mov r14, qword [rbp - 0x10]
mov rsi, qword [rbp - 0x18]
mov rdi, qword [rbp - 0x20]
mov rbx, qword [rbp - 0x28]
mov r11, qword [rbp - 0x30]
mov r10, qword [rbp - 0x38]
mov r9, qword [rbp - 0x40]
jmp 0x180036363
mov r12, qword [rsp + 0x68]
xor r13d, r13d
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x78]
mov r11, qword [rbp - 0x80]
mov rbx, qword [rbp - 0x78]
mov rdi, qword [rbp - 0x70]
mov rsi, qword [rbp - 0x68]
mov r14, qword [rbp - 0x60]
mov r15, qword [rbp - 0x58]
mov qword [rsp + 0x60], 5
nop
mov rcx, r13
lea r8, [0x180000000]
shl rcx, 0x38
xor r9, rcx
xor r10, rcx
xor r11, rcx
xor rbx, rcx
xor rdi, rcx
xor rsi, rcx
xor r14, rcx
mov rax, rcx
not rax
xor r15, rax
movabs rax, 0xefffffffffffffff
xor r9, rax
movabs rax, 0xdfffffffffffffff
xor r10, rax
movabs rax, 0xcfffffffffffffff
xor r11, rax
movabs rax, 0xbfffffffffffffff
xor rbx, rax
movabs rax, 0xafffffffffffffff
xor rdi, rax
movabs rax, 0x9fffffffffffffff
xor rsi, rax
movabs rax, 0x8fffffffffffffff
xor r14, rax
mov rax, r14
shr rax, 0x18
movzx edx, al
mov rax, rbx
shr rax, 0x30
movzx ecx, al
mov rax, rdi
shr rax, 0x10
mov r8, qword [r8 + rdx*8 + 0xa3cf0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa24f0]
movzx ecx, al
mov rax, r10
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
movzx ecx, al
mov rax, r11
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0xa54f0]
movzx ecx, al
mov rax, r15
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0xa34f0]
movzx ecx, al
mov rax, rsi
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, r9b
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, rdi
shr rax, 0x30
movzx edx, al
mov rax, rsi
shr rax, 0x10
movzx ecx, al
mov rax, r11
shr rax, 0x28
mov qword [rsp + 0x20], r8
lea r8, [0x180000000]
mov r8, qword [r8 + rdx*8 + 0xa24f0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
movzx ecx, al
mov rax, rbx
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0xa54f0]
movzx ecx, al
mov rax, r9
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0xa34f0]
movzx ecx, al
mov rax, r15
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
shr rax, 0x18
movzx ecx, al
mov rax, r14
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, r10b
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, rsi
shr rax, 0x30
movzx edx, al
mov rax, r14
shr rax, 0x10
movzx ecx, al
mov rax, rbx
shr rax, 0x28
mov qword [rsp + 0x28], r8
lea r8, [0x180000000]
mov r8, qword [r8 + rdx*8 + 0xa24f0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
movzx ecx, al
mov rax, rdi
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0xa54f0]
movzx ecx, al
mov rax, r10
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0xa34f0]
movzx ecx, al
mov rax, r9
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
movzx ecx, al
mov rax, r15
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, r11b
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, r14
shr rax, 0x30
movzx edx, al
mov rax, rdi
shr rax, 0x28
movzx ecx, al
mov rax, rsi
shr rax, 8
mov qword [rsp + 0x30], r8
lea r8, [0x180000000]
mov r8, qword [r8 + rdx*8 + 0xa24f0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa54f0]
movzx ecx, al
mov rax, r11
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0xa34f0]
movzx ecx, al
mov rax, r10
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
movzx ecx, al
mov rax, r15
shr rax, 0x10
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
movzx ecx, al
mov rax, r9
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, bl
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, rsi
shr rax, 0x28
movzx edx, al
mov rax, r14
mov qword [rsp + 0x38], r8
lea r8, [0x180000000]
shr rax, 8
movzx ecx, al
mov r8, qword [r8 + rdx*8 + 0xa54f0]
lea rdx, [0x180000000]
mov rax, rbx
xor r8, qword [rdx + rcx*8 + 0xa34f0]
shr rax, 0x20
movzx ecx, al
mov rax, r11
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
movzx ecx, al
mov rax, r15
shr rax, 0x30
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
movzx ecx, al
mov rax, r9
shr rax, 0x10
xor r8, qword [rdx + rcx*8 + 0xa24f0]
movzx ecx, al
mov rax, r10
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, dil
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, r14
shr rax, 0x28
movzx edx, al
mov rax, rdi
shr rax, 0x20
movzx ecx, al
mov rax, rbx
shr rax, 0x18
mov qword [rsp + 0x40], r8
lea r8, [0x180000000]
mov r8, qword [r8 + rdx*8 + 0xa54f0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
movzx ecx, al
mov rax, r9
shr rax, 0x30
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
movzx ecx, al
mov rax, r10
shr rax, 0x10
xor r8, qword [rdx + rcx*8 + 0xa24f0]
movzx ecx, al
mov rax, r15
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
movzx ecx, al
mov rax, r11
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa34f0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, sil
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, rsi
shr rax, 0x20
movzx edx, al
mov rax, rdi
shr rax, 0x18
movzx ecx, al
mov rax, r10
shr rax, 0x30
mov qword [rsp + 0x48], r8
lea r8, [0x180000000]
mov r8, qword [r8 + rdx*8 + 0xa5cf0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
movzx ecx, al
mov rax, r11
shr rax, 0x10
xor r8, qword [rdx + rcx*8 + 0xa24f0]
movzx ecx, al
mov rax, r15
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
movzx ecx, al
mov rax, r9
xor r8, qword [rdx + rcx*8 + 0xa54f0]
shr rax, 8
movzx ecx, al
xor r8, qword [rdx + rcx*8 + 0xa34f0]
mov rax, rbx
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movaps xmm2, xmmword [rsp + 0x40]
shr rax, 0x38
shr rsi, 0x18
shr r11, 0x30
shr rbx, 0x10
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, r14b
shr r14, 0x20
movzx ecx, r14b
movq r14, xmm1
shr r9, 0x28
xor r8, qword [rdx + rax*8 + 0xa2cf0]
movzx eax, sil
shr r10, 8
shr rdi, 0x38
mov qword [rsp + 0x50], r8
lea r8, [0x180000000]
mov rdx, qword [r8 + rcx*8 + 0xa5cf0]
lea rcx, [r13 + 1]
xor rdx, qword [r8 + rax*8 + 0xa3cf0]
shl rcx, 0x38
movzx eax, r11b
xor r14, rcx
movaps xmmword [rbp], xmm0
mov rsi, qword [rbp + 8]
xor rsi, rcx
movaps xmmword [rbp + 0x10], xmm1
xor rdx, qword [r8 + rax*8 + 0xa24f0]
mov r11, qword [rbp + 0x18]
movzx eax, bl
xor r11, rcx
movq rbx, xmm2
movaps xmmword [rbp + 0x20], xmm2
xor rbx, rcx
xor rdx, qword [r8 + rax*8 + 0xa4cf0]
movzx eax, r9b
xor rdx, qword [r8 + rax*8 + 0xa54f0]
movzx eax, r10b
xor rdx, qword [r8 + rax*8 + 0xa34f0]
xor rdx, qword [r8 + rdi*8 + 0xa44f0]
mov rdi, qword [rbp + 0x28]
movzx eax, r15b
xor rdi, rcx
movq r15, xmm0
xor rdx, qword [r8 + rax*8 + 0xa2cf0]
mov rax, rcx
not rax
mov qword [rsp + 0x58], rdx
movaps xmm3, xmmword [rsp + 0x50]
xor r15, rax
movabs rax, 0xefffffffffffffff
movaps xmmword [rbp + 0x30], xmm3
mov r9, qword [rbp + 0x38]
xor rsi, rax
xor r9, rcx
movabs rax, 0xdfffffffffffffff
xor r14, rax
movq r10, xmm3
xor r10, rcx
movabs rax, 0xcfffffffffffffff
xor r11, rax
movabs rax, 0xbfffffffffffffff
xor rbx, rax
movabs rax, 0xafffffffffffffff
xor rdi, rax
movabs rax, 0x9fffffffffffffff
xor r10, rax
movabs rax, 0x8fffffffffffffff
xor r9, rax
mov rax, r9
shr rax, 0x18
movzx edx, al
mov rax, rbx
shr rax, 0x30
movzx ecx, al
mov r8, qword [r8 + rdx*8 + 0xa3cf0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa24f0]
mov rax, rdi
shr rax, 0x10
movzx ecx, al
mov rax, r14
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
movzx ecx, al
mov rax, r11
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0xa54f0]
movzx ecx, al
mov rax, r15
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0xa34f0]
movzx ecx, al
mov rax, r10
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, sil
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, rdi
shr rax, 0x30
movzx edx, al
mov rax, r10
shr rax, 0x10
movzx ecx, al
mov rax, r11
shr rax, 0x28
mov qword [rsp + 0x20], r8
lea r8, [0x180000000]
mov r8, qword [r8 + rdx*8 + 0xa24f0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
movzx ecx, al
mov rax, rbx
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0xa54f0]
movzx ecx, al
mov rax, rsi
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0xa34f0]
movzx ecx, al
mov rax, r15
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
movzx ecx, al
mov rax, r9
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, r14b
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, r10
shr rax, 0x30
movzx edx, al
mov rax, r9
shr rax, 0x10
movzx ecx, al
mov rax, rbx
shr rax, 0x28
mov qword [rsp + 0x28], r8
lea r8, [0x180000000]
mov r8, qword [r8 + rdx*8 + 0xa24f0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
movzx ecx, al
mov rax, rdi
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0xa54f0]
movzx ecx, al
mov rax, r14
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0xa34f0]
movzx ecx, al
mov rax, rsi
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
movzx ecx, al
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
mov rax, r15
shr rax, 0x38
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, r11b
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, r9
shr rax, 0x30
movzx edx, al
mov rax, rdi
shr rax, 0x28
movzx ecx, al
mov rax, r10
shr rax, 8
mov qword [rsp + 0x30], r8
lea r8, [0x180000000]
mov r8, qword [r8 + rdx*8 + 0xa24f0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa54f0]
movzx ecx, al
mov rax, r11
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0xa34f0]
movzx ecx, al
mov rax, r14
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
movzx ecx, al
mov rax, r15
shr rax, 0x10
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
movzx ecx, al
mov rax, rsi
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, bl
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, r10
shr rax, 0x28
movzx edx, al
mov rax, r9
shr rax, 8
movzx ecx, al
mov rax, rbx
shr rax, 0x20
mov qword [rsp + 0x38], r8
lea r8, [0x180000000]
mov r8, qword [r8 + rdx*8 + 0xa54f0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa34f0]
movzx ecx, al
mov rax, r11
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
movzx ecx, al
mov rax, r15
shr rax, 0x30
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
movzx ecx, al
mov rax, rsi
shr rax, 0x10
xor r8, qword [rdx + rcx*8 + 0xa24f0]
movzx ecx, al
mov rax, r14
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, dil
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, r9
shr rax, 0x28
movzx edx, al
mov rax, rdi
shr rax, 0x20
mov qword [rsp + 0x40], r8
lea r8, [0x180000000]
movzx ecx, al
mov rax, rbx
mov r8, qword [r8 + rdx*8 + 0xa54f0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa5cf0]
shr rax, 0x18
movzx ecx, al
mov rax, rsi
shr rax, 0x30
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
movzx ecx, al
mov rax, r14
shr rax, 0x10
movups xmmword [rbp], xmm0
xor r8, qword [rdx + rcx*8 + 0xa24f0]
movzx ecx, al
mov rax, r15
shr rax, 8
movups xmmword [rbp + 0x10], xmm1
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
movzx ecx, al
mov rax, r11
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0xa34f0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, r10b
xor r8, qword [rdx + rax*8 + 0xa2cf0]
mov rax, r10
shr rax, 0x20
movzx edx, al
mov rax, rdi
shr rax, 0x18
movzx ecx, al
mov rax, r14
shr rax, 0x30
mov qword [rsp + 0x48], r8
lea r8, [0x180000000]
mov r8, qword [r8 + rdx*8 + 0xa5cf0]
lea rdx, [0x180000000]
xor r8, qword [rdx + rcx*8 + 0xa3cf0]
movzx ecx, al
mov rax, r11
shr rax, 0x10
shr r10, 0x18
shr r11, 0x30
xor r8, qword [rdx + rcx*8 + 0xa24f0]
movzx ecx, al
mov rax, r15
shr rax, 0x28
shr r14, 8
shr rdi, 0x38
xor r8, qword [rdx + rcx*8 + 0xa4cf0]
movzx ecx, al
mov rax, rsi
shr rax, 8
shr rsi, 0x28
xor r8, qword [rdx + rcx*8 + 0xa54f0]
movzx ecx, al
mov rax, rbx
shr rax, 0x38
shr rbx, 0x10
xor r8, qword [rdx + rcx*8 + 0xa34f0]
xor r8, qword [rdx + rax*8 + 0xa44f0]
movzx eax, r9b
shr r9, 0x20
movzx ecx, r9b
xor r8, qword [rdx + rax*8 + 0xa2cf0]
movzx eax, r10b
mov rdx, qword [rdx + rcx*8 + 0xa5cf0]
lea rcx, [0x180000000]
mov qword [rsp + 0x50], r8
xor rdx, qword [rcx + rax*8 + 0xa3cf0]
movzx eax, r11b
xor rdx, qword [rcx + rax*8 + 0xa24f0]
movzx eax, bl
xor rdx, qword [rcx + rax*8 + 0xa4cf0]
movzx eax, sil
xor rdx, qword [rcx + rax*8 + 0xa54f0]
movzx eax, r14b
xor rdx, qword [rcx + rax*8 + 0xa34f0]
xor rdx, qword [rcx + rdi*8 + 0xa44f0]
movzx eax, r15b
xor rdx, qword [rcx + rax*8 + 0xa2cf0]
mov qword [rsp + 0x58], rdx
movaps xmm0, xmmword [rsp + 0x40]
add r13, 2
sub qword [rsp + 0x60], 1
movaps xmm1, xmmword [rsp + 0x50]
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm1
je 0x180037837
mov r14, qword [rbp + 0x38]
mov rsi, qword [rbp + 0x30]
mov rdi, qword [rbp + 0x28]
mov rbx, qword [rbp + 0x20]
mov r11, qword [rbp + 0x18]
mov r10, qword [rbp + 0x10]
mov r9, qword [rbp + 8]
mov r15, qword [rbp]
jmp 0x180036d30
xor eax, eax
nop dword [rax]
movdqu xmm0, xmmword [rbp + rax]
movdqu xmm1, xmmword [rbp + rax - 0x40]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0x40]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax - 0x30]
movdqu xmmword [rbp + rax + 0x40], xmm1
movdqu xmm1, xmmword [rbp + rax + 0x10]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0x50]
pxor xmm1, xmm0
movdqu xmmword [rbp + rax + 0x50], xmm1
add rax, 0x20
cmp rax, 0x40
jb 0x180037840
inc qword [r12 + 0x88]
mov rsi, qword [rbp - 0x50]
xor edi, edi
mov r14, qword [rbp - 0x48]
test rsi, rsi
jne 0x1800362a0
movaps xmm3, xmmword [rbp + 0x70]
movaps xmm2, xmmword [rbp + 0x60]
movaps xmm1, xmmword [rbp + 0x50]
movaps xmm0, xmmword [rbp + 0x40]
movaps xmm7, xmmword [rsp + 0x190]
movaps xmm6, xmmword [rsp + 0x1a0]
mov r15, qword [rsp + 0x1b0]
mov r13, qword [rsp + 0x1b8]
mov rbx, qword [rsp + 0x208]
movups xmmword [r12 + 0x48], xmm0
mov qword [r12 + 0x40], rdi
movups xmmword [r12 + 0x58], xmm1
movups xmmword [r12 + 0x68], xmm2
movups xmmword [r12 + 0x78], xmm3
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.1800810a0
add rsp, 0x1c0
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret