Function at 0x180020220
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x100]
sub rsp, 0x200
mov r15d, 0x1000000
mov rdi, r8
mov r13, rdx
mov r14, rcx
mov qword [rsp + 0x28], 0xc0
mov dword [rsp + 0x20], r15d
nop word [rax + rax]
lea rcx, [rbp - 0x50]
mov r8, r13
mov rdx, r14
call fcn.180020010
mov ecx, dword [rbp - 8]
mov ebx, 0x40
mov rsi, rdi
nop word [rax + rax]
test ecx, ecx
jne 0x1800202be
cmp rbx, 0x80
jb 0x1800202be
lea rcx, [rbp - 0x50]
mov rdx, rsi
call fcn.180015cc0
add qword [rbp - 0x10], 0x400
mov ecx, dword [rbp - 8]
sub rsi, 0xffffffffffffff80
add rbx, 0xffffffffffffff80
jmp 0x18002030e
mov edi, 0x80
mov eax, ecx
mov rdx, rsi
sub edi, ecx
lea rcx, [rbp + rax - 4]
cmp rdi, rbx
cmova rdi, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 8]
add rsi, rdi
add ecx, edi
sub rbx, rdi
mov dword [rbp - 8], ecx
cmp ecx, 0x80
jne 0x18002030e
lea rdx, [rbp - 4]
lea rcx, [rbp - 0x50]
call fcn.180015cc0
add qword [rbp - 0x10], 0x400
xor ecx, ecx
mov dword [rbp - 8], ecx
test rbx, rbx
jne 0x180020290
mov ebx, 4
lea rsi, [rsp + 0x20]
test ecx, ecx
jne 0x18002034f
cmp rbx, 0x80
jb 0x18002034f
lea rcx, [rbp - 0x50]
mov rdx, rsi
call fcn.180015cc0
add qword [rbp - 0x10], 0x400
mov ecx, dword [rbp - 8]
sub rsi, 0xffffffffffffff80
add rbx, 0xffffffffffffff80
jmp 0x18002039f
mov edi, 0x80
mov eax, ecx
mov rdx, rsi
sub edi, ecx
lea rcx, [rbp + rax - 4]
cmp rdi, rbx
cmova rdi, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 8]
add rsi, rdi
add ecx, edi
sub rbx, rdi
mov dword [rbp - 8], ecx
cmp ecx, 0x80
jne 0x18002039f
lea rdx, [rbp - 4]
lea rcx, [rbp - 0x50]
call fcn.180015cc0
add qword [rbp - 0x10], 0x400
xor ecx, ecx
mov dword [rbp - 8], ecx
test rbx, rbx
jne 0x180020321
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001fde0
mov r12d, 0x3e7
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rbp - 0x80]
movaps xmmword [rsp + 0x30], xmm0
movaps xmm0, xmmword [rbp - 0x70]
movaps xmmword [rsp + 0x40], xmm1
movaps xmm1, xmmword [rbp - 0x60]
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm1
lea rcx, [rbp - 0x50]
mov r8, r13
mov rdx, r14
call fcn.180020010
mov ecx, dword [rbp - 8]
mov ebx, 0x40
lea rsi, [rsp + 0x70]
nop dword [rax]
test ecx, ecx
jne 0x18002042e
cmp rbx, 0x80
jb 0x18002042e
lea rcx, [rbp - 0x50]
mov rdx, rsi
call fcn.180015cc0
add qword [rbp - 0x10], 0x400
mov ecx, dword [rbp - 8]
sub rsi, 0xffffffffffffff80
add rbx, 0xffffffffffffff80
jmp 0x18002047e
mov edi, 0x80
mov eax, ecx
mov rdx, rsi
sub edi, ecx
lea rcx, [rbp + rax - 4]
cmp rdi, rbx
cmova rdi, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 8]
add rsi, rdi
add ecx, edi
sub rbx, rdi
mov dword [rbp - 8], ecx
cmp ecx, 0x80
jne 0x18002047e
lea rdx, [rbp - 4]
lea rcx, [rbp - 0x50]
call fcn.180015cc0
add qword [rbp - 0x10], 0x400
xor ecx, ecx
mov dword [rbp - 8], ecx
test rbx, rbx
jne 0x180020400
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001fde0
xor edx, edx
nop word [rax + rax]
mov eax, dword [rsp + rdx + 0x70]
add rdx, 0x10
xor dword [rsp + rdx + 0x20], eax
mov eax, dword [rsp + rdx + 0x64]
xor dword [rsp + rdx + 0x24], eax
mov eax, dword [rsp + rdx + 0x68]
xor dword [rsp + rdx + 0x28], eax
mov eax, dword [rsp + rdx + 0x6c]
xor dword [rsp + rdx + 0x2c], eax
cmp rdx, 0x40
jl 0x1800204a0
dec r12
jne 0x1800203e1
mov r12, qword [rsp + 0x28]
mov rbx, qword [rbp + 0x158]
bswap r15d
mov edi, 0x40
inc r15d
lea rdx, [rsp + 0x30]
cmp r12, rdi
bswap r15d
mov rcx, rbx
cmovb rdi, r12
mov dword [rsp + 0x20], r15d
mov r8, rdi
call sub.msvcrt.dll_memcpy
add rbx, rdi
sub r12, rdi
mov rdi, qword [rbp + 0x150]
mov qword [rsp + 0x28], r12
mov qword [rbp + 0x158], rbx
jne 0x180020270
mov rbx, qword [rsp + 0x240]
xor eax, eax
lea rdi, [rbp - 0x50]
mov ecx, 0x54
rep stosd dword [rdi], eax
lea rdi, [rsp + 0x30]
mov ecx, 0x10
rep stosd dword [rdi], eax
lea rdi, [rsp + 0x70]
mov ecx, 0x10
rep stosd dword [rdi], eax
add rsp, 0x200
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret