Function at 0x140020640
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x140093080]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rbx, rdx
mov rsi, rcx
mov qword [rbp - 0x18], rdx
xor edi, edi
mov dword [rbp - 0x58], 0x9ba0b9a5
mov dword [rbp - 0x54], 0xa1a3b5bc
mov word [rbp - 0x50], 0x100
mov ecx, edi
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x35]
xor byte [rbp + rcx - 0x58], al
inc rcx
cmp rcx, 8
jb 0x140020690
mov byte [rbp - 0x4f], 0
lea r9, [rbp - 0x60]
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x40]
call fcn.140011970
nop
cmp byte [rbx], 0
jne 0x1400206cb
mov byte [rbx], 1
call fcn.140015500
mov qword [rbx + 8], rax
cmp byte [rbx], 1
jne 0x1400206df
lea rdx, [rbp - 0x40]
mov rcx, qword [rbx + 8]
call fcn.14001a480
jmp 0x1400206e3
mov rax, qword [rbp - 0x18]
cmp byte [rax], 3
jne 0x1400206ee
mov r8, qword [rax + 8]
jmp 0x1400206f1
mov r8, rdi
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1400206fe
mov rdx, qword [r8]
lea rcx, [rsi + 0xa0]
mov r8, qword [r8 + 0x10]
call fcn.140013260
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x14002074d
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140020748
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140020748
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140075204
mov dword [rbp - 0x58], 0x81a0b9a5
mov dword [rbp - 0x54], 0xbcb8bca1
mov dword [rbp - 0x50], 0xb3a681b6
mov dword [rbp - 0x4c], 0x100aba5
mov rcx, rdi
nop dword [rax]
lea eax, [rcx - 0x35]
xor byte [rbp + rcx - 0x58], al
inc rcx
cmp rcx, 0xe
jb 0x140020770
mov byte [rbp - 0x49], 0
lea r9, [rbp - 0x60]
lea r8, [rbp - 0x4a]
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x40]
call fcn.140011970
nop
cmp byte [rbx], 0
jne 0x1400207ab
mov byte [rbx], 1
call fcn.140015500
mov qword [rbx + 8], rax
cmp byte [rbx], 1
jne 0x1400207bf
lea rdx, [rbp - 0x40]
mov rcx, qword [rbx + 8]
call fcn.14001a480
jmp 0x1400207c3
mov rax, qword [rbp - 0x18]
cmp byte [rax], 3
jne 0x1400207ce
mov r8, qword [rax + 8]
jmp 0x1400207d1
mov r8, rdi
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1400207de
mov rdx, qword [r8]
lea rcx, [rsi + 0xc0]
mov r8, qword [r8 + 0x10]
call fcn.140013260
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x14002082d
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140020828
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140020828
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140075204
mov dword [rbp - 0x58], 0x85a0b9a5
mov dword [rbp - 0x54], 0xa2a9aa
mov byte [rbp - 0x50], 1
mov rcx, rdi
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x35]
xor byte [rbp + rcx - 0x58], al
inc rcx
cmp rcx, 7
jb 0x140020850
mov byte [rbp - 0x50], 0
lea r9, [rbp - 0x60]
lea r8, [rbp - 0x51]
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x40]
call fcn.140011970
nop
cmp byte [rbx], 0
jne 0x14002088b
mov byte [rbx], 1
call fcn.140015500
mov qword [rbx + 8], rax
cmp byte [rbx], 1
jne 0x14002089f
lea rdx, [rbp - 0x40]
mov rcx, qword [rbx + 8]
call fcn.14001a480
jmp 0x1400208a3
mov rax, qword [rbp - 0x18]
cmp byte [rax], 3
jne 0x1400208ae
mov r8, qword [rax + 8]
jmp 0x1400208b1
mov r8, rdi
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1400208be
mov rdx, qword [r8]
lea rcx, [rsi + 0xe0]
mov r8, qword [r8 + 0x10]
call fcn.140013260
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x14002090d
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140020908
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140020908
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140075204
mov dword [rbp - 0x58], 0xbdbfa9bd
mov dword [rbp - 0x54], 0xbfbfa6
mov byte [rbp - 0x50], 1
mov rcx, rdi
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x35]
xor byte [rbp + rcx - 0x58], al
inc rcx
cmp rcx, 7
jb 0x140020930
mov byte [rbp - 0x50], 0
lea r9, [rbp - 0x60]
lea r8, [rbp - 0x51]
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x40]
call fcn.140011970
nop
cmp byte [rbx], 0
jne 0x14002096b
mov byte [rbx], 1
call fcn.140015500
mov qword [rbx + 8], rax
cmp byte [rbx], 1
jne 0x14002097f
lea rdx, [rbp - 0x40]
mov rcx, qword [rbx + 8]
call fcn.14001a480
jmp 0x140020983
mov rax, qword [rbp - 0x18]
cmp byte [rax], 3
jne 0x14002098e
mov r8, qword [rax + 8]
jmp 0x140020991
mov r8, rdi
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x14002099e
mov rdx, qword [r8]
lea rcx, [rsi + 0x100]
mov r8, qword [r8 + 0x10]
call fcn.140013260
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x1400209ed
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400209e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400209e8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140075204
movdqa xmm0, xmmword [0x140079130]
movdqu xmmword [rbp - 0x58], xmm0
mov word [rbp - 0x48], 0xb0
mov byte [rbp - 0x46], 1
mov rcx, rdi
nop word [rax + rax]
lea eax, [rcx - 0x35]
xor byte [rbp + rcx - 0x58], al
inc rcx
cmp rcx, 0x11
jb 0x140020a10
mov byte [rbp - 0x46], 0
lea r9, [rbp - 0x60]
lea r8, [rbp - 0x47]
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x40]
call fcn.140011970
nop
cmp byte [rbx], 0
jne 0x140020a4b
mov byte [rbx], 1
call fcn.140015500
mov qword [rbx + 8], rax
cmp byte [rbx], 1
jne 0x140020a5f
lea rdx, [rbp - 0x40]
mov rcx, qword [rbx + 8]
call fcn.14001a480
jmp 0x140020a63
mov rax, qword [rbp - 0x18]
cmp byte [rax], 3
jne 0x140020a6c
mov rdi, qword [rax + 8]
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140020a79
mov rdx, qword [rdi]
lea rcx, [rsi + 0x120]
mov r8, qword [rdi + 0x10]
call fcn.140013260
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140020ac9
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140020ac3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140020ac3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140075204
nop
lea rcx, [rbx + 8]
movzx edx, byte [rbx]
call fcn.14001c410
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1400751a0
mov rbx, qword [rsp + 0xb0]
add rsp, 0x80
pop rdi
pop rsi
pop rbp
ret