Function at 0x18006a220
Capabilities:
Encode data using xor

Disassembly:
push rbp
lea rbp, [rsp - 0x230]
sub rsp, 0x330
cmp qword [0x180080270], 0
jne 0x18006a246
xor al, al
add rsp, 0x330
pop rbp
ret
cmp qword [0x1800802c8], 0
mov qword [rsp + 0x328], rbx
mov qword [rsp + 0x320], rsi
mov qword [rsp + 0x318], rdi
mov qword [rsp + 0x310], r12
mov qword [rsp + 0x308], r13
mov qword [rsp + 0x300], r14
mov qword [rsp + 0x2f8], r15
movaps xmmword [rsp + 0x2e0], xmm6
je 0x18006a295
call fcn.18006adb0
mov rbx, qword [0x180077620]
movdqa xmm6, xmmword [0x180077610]
mov rcx, rbx
call fcn.1800293b0
mov rcx, qword [0x180080270]
lea rsi, [0x180077630]
xor r13d, r13d
lea r14, [0x180077640]
lea r15, [0x180077650]
mov rdi, rax
mov r8d, r13d
mov rdx, qword [rcx]
mov r12, qword [rdx + 0x60]
test rbx, rbx
je 0x18006a394
cmp rbx, 0x40
jb 0x18006a36f
lea rcx, [rbx - 1]
add rcx, rax
lea rax, [rsi - 1]
add rax, rbx
cmp rdi, rax
ja 0x18006a303
cmp rcx, rsi
jae 0x18006a36f
mov rdx, rbx
and rdx, 0xffffffffffffffc0
mov r9, r14
lea rax, [rdi + 0x10]
mov r10, r15
sub r9, rdi
sub r10, rdi
mov rcx, rsi
sub rcx, rdi
movdqu xmm0, xmmword [rcx + rax - 0x10]
add r8, 0x40
movdqu xmm1, xmmword [rcx + rax]
lea rax, [rax + 0x40]
pxor xmm0, xmm6
pxor xmm1, xmm6
movdqu xmmword [rax - 0x50], xmm0
movdqu xmm0, xmmword [r9 + rax - 0x40]
movdqu xmmword [rax - 0x40], xmm1
pxor xmm0, xmm6
movdqu xmm1, xmmword [r10 + rax - 0x40]
movdqu xmmword [rax - 0x30], xmm0
pxor xmm1, xmm6
movdqu xmmword [rax - 0x20], xmm1
cmp r8, rdx
jb 0x18006a320
cmp r8, rbx
jae 0x18006a394
mov r9, rsi
lea rcx, [rdi + r8]
sub r9, rdi
mov rdx, rbx
sub rdx, r8
nop
movzx eax, byte [rcx + r9]
lea rcx, [rcx + 1]
xor al, 0xeb
mov byte [rcx - 1], al
sub rdx, 1
jne 0x18006a380
mov rcx, qword [0x180080270]
lea rax, [0x1800802a0]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, rbx
mov rdx, rdi
call r12
movabs r12, 0x7ffffffdfffe
test eax, eax
js 0x18006aa40
mov eax, dword [0x180077584]
mov r8, r13
movsd xmm0, qword [str.a_a]
movabs r9, 0x47ae147ae147ae15
movzx ecx, byte [0x180077570]
movzx edx, byte [0x180077580]
xor cl, 0x39
movsd qword [rsp + 0x30], xmm0
movsd xmm0, qword [str.ewkwzye9]
xor byte [rsp + 0x31], 0x32
xor byte [rsp + 0x32], 0x33
xor byte [rsp + 0x33], 0x34
xor byte [rsp + 0x34], 0x35
xor byte [rsp + 0x35], 0x36
xor byte [rsp + 0x36], 0x37
xor byte [rsp + 0x37], 0x38
movsd qword [rsp + 0x40], xmm0
xor byte [rsp + 0x41], 0x32
xor byte [rsp + 0x42], 0x33
xor byte [rsp + 0x43], 0x34
xor byte [rsp + 0x44], 0x35
xor byte [rsp + 0x45], 0x36
xor byte [rsp + 0x46], 0x37
xor byte [rsp + 0x47], 0x38
mov dword [rbp + 0x250], eax
xor dl, 0x39
movzx eax, word [0x180077588]
mov word [rbp + 0x254], ax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x30], rax
lea rax, [rsp + 0x40]
mov byte [rsp + 0x48], dl
mov qword [rbp - 0x10], rax
mov byte [rsp + 0x30], 0x50
mov byte [rsp + 0x38], cl
mov dword [rbp - 0x28], r13d
mov qword [rbp - 0x24], 0x10
mov qword [rbp - 0x1c], r13
mov dword [rbp - 0x14], r13d
mov byte [rsp + 0x40], 0x54
mov dword [rbp - 8], r13d
mov qword [rbp - 4], 0x10
mov qword [rbp + 4], 8
mov dword [rbp + 0xc], r13d
nop dword [rax]
nop word [rax + rax]
mov rax, r9
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [rbp + r8 + 0x250], al
inc r8
cmp r8, 6
jb 0x18006a4c0
mov dword [rbp + 0x18], r13d
lea rax, [rbp + 0x250]
mov qword [rbp + 0x10], rax
mov r8, r13
mov rax, qword [0x180080270]
mov qword [rbp + 0x1c], 0x1c
mov qword [rbp + 0x24], 0x10
mov dword [rbp + 0x2c], r13d
mov rcx, qword [rax]
mov r10, qword [rcx + 0x58]
test rbx, rbx
je 0x18006a5e3
cmp rbx, 0x40
jb 0x18006a5bf
lea rcx, [rbx - 1]
lea rax, [rsi - 1]
add rcx, rdi
add rax, rbx
cmp rdi, rax
ja 0x18006a554
cmp rcx, rsi
jae 0x18006a5bf
mov r9, rbx
and r9, 0xffffffffffffffc0
sub r14, rdi
lea rax, [rdi + 0x10]
sub r15, rdi
mov rcx, rsi
sub rcx, rdi
nop dword [rax + rax]
movdqu xmm0, xmmword [rax + rcx - 0x10]
add r8, 0x40
movdqu xmm1, xmmword [rax + rcx]
lea rax, [rax + 0x40]
pxor xmm0, xmm6
pxor xmm1, xmm6
movdqu xmmword [rax - 0x50], xmm0
movdqu xmm0, xmmword [rax + r14 - 0x40]
movdqu xmmword [rax - 0x40], xmm1
pxor xmm0, xmm6
movdqu xmm1, xmmword [rax + r15 - 0x40]
movdqu xmmword [rax - 0x30], xmm0
pxor xmm1, xmm6
movdqu xmmword [rax - 0x20], xmm1
cmp r8, r9
jb 0x18006a570
cmp r8, rbx
jae 0x18006a5e3
sub rsi, rdi
lea rcx, [r8 + rdi]
mov rdx, rbx
sub rdx, r8
nop dword [rax]
movzx eax, byte [rsi + rcx]
lea rcx, [rcx + 1]
xor al, 0xeb
mov byte [rcx - 1], al
sub rdx, 1
jne 0x18006a5d0
mov rcx, qword [0x180080270]
lea rax, [0x1800802a8]
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x30]
mov r9, rdi
mov qword [rsp + 0x20], rbx
mov r8d, 3
call r10
test eax, eax
js 0x18006aa40
mov rcx, qword [0x180080270]
lea r9, [0x1800802b0]
mov dword [rbp - 0x78], 0x40
lea rdx, [rbp - 0x78]
mov dword [rbp - 0x74], 2
xor r8d, r8d
mov dword [rbp - 0x70], 4
mov qword [rbp - 0x6c], 0x10000
mov dword [rbp - 0x64], r13d
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
js 0x18006aa40
mov rsi, qword [0x180077628]
mov rcx, rsi
call fcn.1800293b0
mov rcx, qword [0x180080270]
mov rbx, rax
mov r8, r13
mov rdx, qword [rcx]
mov r15, qword [rdx + 0x78]
test rsi, rsi
je 0x18006a744
lea r9, [0x1800779b0]
cmp rsi, 0x40
jb 0x18006a720
lea rcx, [rsi - 1]
add rcx, rax
lea rax, [r9 - 1]
add rax, rsi
cmp rbx, rax
ja 0x18006a6ac
cmp rcx, r9
jae 0x18006a720
mov rdx, rsi
and rdx, 0xffffffffffffffc0
lea r10, [0x1800779c0]
mov rcx, r9
lea r11, [0x1800779d0]
sub r10, rbx
sub r11, rbx
lea rax, [rbx + 0x10]
sub rcx, rbx
movdqu xmm0, xmmword [rcx + rax - 0x10]
add r8, 0x40
movdqu xmm1, xmmword [rcx + rax]
lea rax, [rax + 0x40]
pxor xmm0, xmm6
pxor xmm1, xmm6
movdqu xmmword [rax - 0x50], xmm0
movdqu xmm0, xmmword [r10 + rax - 0x40]
movdqu xmmword [rax - 0x40], xmm1
pxor xmm0, xmm6
movdqu xmm1, xmmword [r11 + rax - 0x40]
movdqu xmmword [rax - 0x30], xmm0
pxor xmm1, xmm6
movdqu xmmword [rax - 0x20], xmm1
cmp r8, rdx
jb 0x18006a6d1
cmp r8, rsi
jae 0x18006a744
sub r9, rbx
lea rcx, [r8 + rbx]
mov rdx, rsi
sub rdx, r8
nop dword [rax]
movzx eax, byte [rcx + r9]
lea rcx, [rcx + 1]
xor al, 0xeb
mov byte [rcx - 1], al
sub rdx, 1
jne 0x18006a730
mov rcx, qword [0x180080270]
lea rax, [0x1800802c0]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, rsi
mov rdx, rbx
call r15
test eax, eax
js 0x18006aa20
xor eax, eax
lea rcx, [rbp + 0xf5]
xor edx, edx
mov dword [rbp + 0xd4], eax
mov r8d, 0xe3
call fcn.180029390
mov rcx, qword [0x180080270]
lea r8, [0x1800802e0]
movdqa xmm0, xmmword [0x180077600]
lea rdx, [rbp + 0xd0]
mov dword [rbp + 0xd0], r13d
mov dword [rbp + 0xd8], 1
mov dword [rbp + 0xdc], 5
movdqu xmmword [rbp + 0xe0], xmm0
mov dword [rbp + 0xf0], 1
mov byte [rbp + 0xf4], 0xf
mov rax, qword [rcx]
call qword [rax + 0xa0]
test eax, eax
js 0x18006aa20
mov rcx, qword [0x180080270]
lea r8, [0x1800802d8]
xorps xmm0, xmm0
mov qword [rbp + 0x50], r13
movdqu xmmword [rbp + 0x38], xmm0
mov dword [rbp + 0x30], 3
lea rdx, [rbp + 0x30]
mov dword [rbp + 0x34], 1
mov dword [rbp + 0x4c], 1
mov dword [rbp + 0x48], 1
mov rax, qword [rcx]
call qword [rax + 0xb0]
test eax, eax
js 0x18006aa20
movdqa xmm0, xmmword [0x1800775e0]
lea r8, [0x1800802e8]
mov rcx, qword [0x180080270]
lea rdx, [rbp + 0x58]
movdqu xmmword [rbp + 0x58], xmm0
mov dword [rbp + 0x6c], 1
mov dword [rbp + 0x74], 1
mov dword [rbp + 0x70], 1
mov dword [rbp + 0x78], 8
movups xmm0, xmmword [rbp + 0x6c]
mov dword [rbp + 0x68], r13d
movups xmmword [rbp + 0x7c], xmm0
mov rax, qword [rcx]
call qword [rax + 0xa8]
test eax, eax
js 0x18006aa20
call fcn.180033c70
mov qword [rsp + 0x50], r13
lea r9, [rbp + 0x248]
mov dword [rbp + 0x240], r13d
lea r8, [rbp + 0x240]
mov dword [rbp + 0x248], r13d
lea rdx, [rsp + 0x50]
mov rcx, qword [rax + 0xa0]
mov r14, rax
mov qword [rsp + 0x20], r13
call fcn.180044f40
mov ecx, dword [rbp + 0x240]
lea r9, [rbp + 0x258]
mov eax, dword [rbp + 0x248]
lea r8, [rbp - 0x60]
mov dword [rsp + 0x5c], eax
lea rdx, [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov qword [rbp - 0x60], rax
lea eax, [rcx*4]
mov dword [rsp + 0x58], ecx
mov rcx, qword [0x180080270]
mov qword [rsp + 0x6c], 1
mov qword [rsp + 0x7c], r13
mov dword [rsp + 0x60], 1
mov dword [rsp + 0x64], 1
mov dword [rsp + 0x68], 0x1c
mov dword [rsp + 0x74], r13d
mov dword [rsp + 0x78], 8
mov dword [rbp - 0x58], eax
mov dword [rbp - 0x54], r13d
mov qword [rbp + 0x258], r13
mov rax, qword [rcx]
call qword [rax + 0x28]
test eax, eax
js 0x18006aa20
mov eax, dword [rsp + 0x60]
lea r9, [0x1800802d0]
mov rcx, qword [0x180080270]
lea r8, [rbp - 0x50]
mov rdx, qword [rbp + 0x258]
mov qword [rbp - 0x40], r13
mov dword [rbp - 0x50], 0x1c
mov qword [rbp - 0x4c], 4
mov dword [rbp - 0x44], eax
mov rax, qword [rcx]
call qword [rax + 0x38]
mov rcx, qword [rbp + 0x258]
mov esi, eax
lea rdx, [rcx - 0x10000]
cmp rdx, r12
ja 0x18006a9b0
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov qword [rbp + 0x258], r13
test esi, esi
js 0x18006aa20
mov rcx, qword [r14 + 0xa0]
lea r8, [0x1800802c8]
mov rax, qword [0x1800802d0]
lea rdx, [rbp + 0x90]
movdqa xmm1, xmmword [0x1800775f0]
xorps xmm0, xmm0
mov qword [rcx + 8], rax
mov rcx, qword [0x180080270]
mov qword [rbp + 0xa0], r13
movdqu xmmword [rbp + 0xac], xmm0
mov dword [rbp + 0xa8], 8
movdqu xmmword [rbp + 0x90], xmm1
mov qword [rbp + 0xbc], r13
mov rax, qword [rcx]
call qword [rax + 0xb8]
test eax, eax
setns sil
jmp 0x18006aa23
xor sil, sil
lea rax, [rbx - 0x10000]
cmp rax, r12
ja 0x18006aa43
mov rcx, rbx
call fcn.1800293d0
jmp 0x18006aa43
xor sil, sil
movaps xmm6, xmmword [rsp + 0x2e0]
lea rcx, [rdi - 0x10000]
mov r15, qword [rsp + 0x2f8]
cmp rcx, r12
mov r12, qword [rsp + 0x310]
mov r14, qword [rsp + 0x300]
mov r13, qword [rsp + 0x308]
mov rbx, qword [rsp + 0x328]
ja 0x18006aa87
mov rcx, rdi
call fcn.1800293d0
mov rdi, qword [rsp + 0x318]
movzx eax, sil
mov rsi, qword [rsp + 0x320]
add rsp, 0x330
pop rbp
ret