Function at 0x18006b520
Capabilities:
Encode data using xor

Disassembly:
push rbp
lea rbp, [rsp - 0x230]
sub rsp, 0x330
cmp qword [0x180082278], 0
jne 0x18006b546
xor al, al
add rsp, 0x330
pop rbp
ret
cmp qword [0x1800822d0], 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 0x18006b595
call fcn.18006c0b0
mov rbx, qword [0x180079640]
movdqa xmm6, xmmword [0x180079630]
mov rcx, rbx
call fcn.18002a6b0
mov rcx, qword [0x180082278]
lea rsi, [0x180079650]
xor r13d, r13d
lea r14, [0x180079660]
lea r15, [0x180079670]
mov rdi, rax
mov r8d, r13d
mov rdx, qword [rcx]
mov r12, qword [rdx + 0x60]
test rbx, rbx
je 0x18006b694
cmp rbx, 0x40
jb 0x18006b66f
lea rcx, [rbx - 1]
add rcx, rax
lea rax, [rsi - 1]
add rax, rbx
cmp rdi, rax
ja 0x18006b603
cmp rcx, rsi
jae 0x18006b66f
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 0x18006b620
cmp r8, rbx
jae 0x18006b694
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 0x18006b680
mov rcx, qword [0x180082278]
lea rax, [0x1800822a8]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, rbx
mov rdx, rdi
call r12
movabs r12, 0x7ffffffdfffe
test eax, eax
js 0x18006bd40
mov eax, dword [0x1800795b4]
mov r8, r13
movsd xmm0, qword [str.a_a]
movabs r9, 0x4e5e0a72f0539783
movzx ecx, byte [0x1800795a0]
movzx edx, byte [0x1800795b0]
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 [0x1800795b8]
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, 0x31
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [rbp + r8 + 0x250], al
inc r8
cmp r8, 6
jb 0x18006b7c0
mov dword [rbp + 0x18], r13d
lea rax, [rbp + 0x250]
mov qword [rbp + 0x10], rax
mov r8, r13
mov rax, qword [0x180082278]
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 0x18006b8e3
cmp rbx, 0x40
jb 0x18006b8bf
lea rcx, [rbx - 1]
lea rax, [rsi - 1]
add rcx, rdi
add rax, rbx
cmp rdi, rax
ja 0x18006b854
cmp rcx, rsi
jae 0x18006b8bf
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 0x18006b870
cmp r8, rbx
jae 0x18006b8e3
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 0x18006b8d0
mov rcx, qword [0x180082278]
lea rax, [0x1800822b0]
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 0x18006bd40
mov rcx, qword [0x180082278]
lea r9, [0x1800822b8]
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 0x18006bd40
mov rsi, qword [0x180079648]
mov rcx, rsi
call fcn.18002a6b0
mov rcx, qword [0x180082278]
mov rbx, rax
mov r8, r13
mov rdx, qword [rcx]
mov r15, qword [rdx + 0x78]
test rsi, rsi
je 0x18006ba44
lea r9, [0x1800799d0]
cmp rsi, 0x40
jb 0x18006ba20
lea rcx, [rsi - 1]
add rcx, rax
lea rax, [r9 - 1]
add rax, rsi
cmp rbx, rax
ja 0x18006b9ac
cmp rcx, r9
jae 0x18006ba20
mov rdx, rsi
and rdx, 0xffffffffffffffc0
lea r10, [0x1800799e0]
mov rcx, r9
lea r11, [0x1800799f0]
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 0x18006b9d1
cmp r8, rsi
jae 0x18006ba44
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 0x18006ba30
mov rcx, qword [0x180082278]
lea rax, [0x1800822c8]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, rsi
mov rdx, rbx
call r15
test eax, eax
js 0x18006bd20
xor eax, eax
lea rcx, [rbp + 0xf5]
xor edx, edx
mov dword [rbp + 0xd4], eax
mov r8d, 0xe3
call fcn.18002a690
mov rcx, qword [0x180082278]
lea r8, [0x1800822e8]
movdqa xmm0, xmmword [0x180079620]
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 0x18006bd20
mov rcx, qword [0x180082278]
lea r8, [0x1800822e0]
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 0x18006bd20
movdqa xmm0, xmmword [0x180079600]
lea r8, [0x1800822f0]
mov rcx, qword [0x180082278]
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 0x18006bd20
call fcn.180034f70
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.180046240
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 [0x180082278]
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 0x18006bd20
mov eax, dword [rsp + 0x60]
lea r9, [0x1800822d8]
mov rcx, qword [0x180082278]
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 0x18006bcb0
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov qword [rbp + 0x258], r13
test esi, esi
js 0x18006bd20
mov rcx, qword [r14 + 0xa0]
lea r8, [0x1800822d0]
mov rax, qword [0x1800822d8]
lea rdx, [rbp + 0x90]
movdqa xmm1, xmmword [0x180079610]
xorps xmm0, xmm0
mov qword [rcx + 8], rax
mov rcx, qword [0x180082278]
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 0x18006bd23
xor sil, sil
lea rax, [rbx - 0x10000]
cmp rax, r12
ja 0x18006bd43
mov rcx, rbx
call fcn.18002a6d0
jmp 0x18006bd43
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 0x18006bd87
mov rcx, rdi
call fcn.18002a6d0
mov rdi, qword [rsp + 0x318]
movzx eax, sil
mov rsi, qword [rsp + 0x320]
add rsp, 0x330
pop rbp
ret