Function at 0x1800021e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x1800a8008]
xor rax, rsp
mov qword [rbp - 8], rax
mov r12, rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xor r13d, r13d
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x28], r13
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x10], r13
lea edx, [r13 + 0x1d]
lea rcx, [rbp - 0x20]
call fcn.1800020a0
mov rcx, qword [rbp - 0x20]
movups xmm0, xmmword [0x18001fa71]
movups xmmword [rcx], xmm0
movsd xmm1, qword [0x18001fa81]
movsd qword [rcx + 0x10], xmm1
mov eax, dword [0x18001fa89]
mov dword [rcx + 0x18], eax
movzx eax, byte [0x18001fa8d]
mov byte [rcx + 0x1c], al
mov r9, qword [rbp - 0x30]
mov rdx, r9
mov rcx, qword [rbp - 0x38]
sub rdx, rcx
cmp rdx, 0x85c00
jbe 0x180002295
lea rax, [rcx + 0x85c00]
mov qword [rbp - 0x30], rax
jmp 0x1800022d5
jae 0x1800022d5
mov rax, qword [rbp - 0x28]
sub rax, rcx
cmp rax, 0x85c00
jae 0x1800022b6
mov edx, 0x85c00
lea rcx, [rbp - 0x38]
call fcn.1800020a0
jmp 0x1800022d1
mov r8d, 0x85c00
sub r8, rdx
lea rbx, [r9 + r8]
xor edx, edx
mov rcx, r9
call fcn.180004340
mov qword [rbp - 0x30], rbx
mov rcx, qword [rbp - 0x38]
mov r8d, 0x85c00
lea rdx, [0x18001fa8e]
call fcn.180004500
mov r9, r13
mov rbx, qword [rbp - 0x38]
cmp qword [rbp - 0x30], rbx
je 0x18000232f
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rbp - 0x18]
mov r8, qword [rbp - 0x20]
sub rcx, r8
xor edx, edx
mov rax, r9
div rcx
movzx eax, byte [rdx + r8]
xor byte [rbx + r9], al
inc r9
mov rax, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x38]
sub rax, rbx
cmp r9, rax
jb 0x180002300
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x18000236d
mov rdx, qword [rbp - 0x10]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002364
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800024f6
call fcn.1800025dc
mov rbx, qword [rbp - 0x38]
mov ecx, 0x88f6b891
call fcn.180001070
mov r14, rax
lea rax, [0x180001d90]
test r14, r14
cmove r14, rax
mov ecx, 0x18ae55d2
call fcn.180001070
mov rsi, rax
mov ecx, 0xc962e0dd
call fcn.180001070
mov r15, rax
test rsi, rsi
je 0x18000248f
test rax, rax
je 0x18000248f
mov edx, 0x40
mov ecx, edx
call rsi
mov rdi, rax
test rax, rax
je 0x18000248b
mov qword [rax], r14
mov qword [rax + 0x30], rsi
mov qword [rax + 0x38], r15
mov ecx, 0xd01a8703
call fcn.180001070
mov qword [rdi + 8], rax
test rax, rax
je 0x18000248b
mov ecx, 0xf8b7108d
call fcn.180001070
mov qword [rdi + 0x10], rax
test rax, rax
je 0x18000248b
mov ecx, 0x9e5a8833
call fcn.180001070
mov qword [rdi + 0x18], rax
test rax, rax
je 0x18000248b
mov ecx, 0x4faef192
call fcn.180001070
mov qword [rdi + 0x20], rax
test rax, rax
je 0x18000248b
mov ecx, 0x862f81fa
call fcn.180001070
mov qword [rdi + 0x28], rax
test rax, rax
je 0x18000248b
mov edx, 0x28
lea ecx, [rdx + 0x18]
call rsi
mov rsi, rax
test rax, rax
je 0x18000248b
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 1
mov dword [rax + 0x20], r13d
mov rdx, rbx
mov rcx, rax
call fcn.1800011c0
mov rcx, rsi
test eax, eax
jne 0x18000247c
mov rbx, qword [rdi + 0x38]
call rbx
mov rcx, rdi
call rbx
jmp 0x18000248b
call fcn.180001660
test rax, rax
je 0x18000248b
mov rcx, r12
call rax
mov rbx, qword [rbp - 0x38]
test rbx, rbx
je 0x1800024c4
mov rdx, qword [rbp - 0x28]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x1800024bc
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800024f0
mov rcx, rbx
call fcn.1800025dc
mov al, 1
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.180002580
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180007a04
nop
call fcn.180007a04
nop
int3