Function at 0x14000803e
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x198
movabs rax, 0x70007900720063
mov qword [rsp + 0xa0], rax
mov r12, rcx
mov ebp, edx
mov rdi, r8
movabs rax, 0x3100300074
mov qword [rsp + 0xa8], rax
test rcx, rcx
je 0x1400081ed
lea rbx, [rsp + 0xa0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rsi, eax
test esi, esi
je 0x1400080c3
xor ecx, ecx
mov dword [rsp + 0x28], esi
mov r9d, esi
mov r8, r12
mov qword [rsp + 0x20], rbx
mov edx, 1
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
jne 0x1400081ed
sub ebp, esi
mov ecx, ebp
sar ecx, 1
add ecx, 2
movsxd rcx, ecx
call fcn.140007360
mov rbx, rax
test rax, rax
je 0x1400081ed
add rsi, rsi
xor edx, edx
xor eax, eax
movabs r10, 0xfffffffeffffd9ff
lea r8, [r12 + rsi]
cmp ebp, eax
jle 0x1400081ce
cdqe
cmp ebp, eax
jle 0x1400081ce
mov cx, word [r8 + rax*2]
cmp cx, 0x20
jbe 0x140008123
lea r11d, [rcx - 0x30]
lea r9d, [rcx - 0x30]
cmp r11w, 9
jbe 0x14000815b
jmp 0x140008138
mov r11, r10
lea r9, [rax + 1]
sar r11, cl
and r11b, 1
jne 0x140008149
mov rax, r9
jmp 0x1400080ff
lea r9d, [rcx - 0x61]
cmp r9w, 5
ja 0x140008149
lea r9d, [rcx - 0x57]
jmp 0x14000815b
lea r11d, [rcx - 0x41]
mov r9b, 0xff
cmp r11w, 5
ja 0x14000815b
lea r9d, [rcx - 0x37]
inc eax
cdqe
mov cx, word [r8 + rax*2]
cmp ebp, eax
jle 0x140008181
cmp cx, 0x20
ja 0x140008181
mov rsi, r10
inc rax
sar rsi, cl
mov rcx, rsi
and cl, 1
je 0x14000815f
jmp 0x1400081ca
lea r11d, [rcx - 0x30]
cmp r11w, 9
ja 0x140008191
sub ecx, 0x30
jmp 0x1400081af
lea r11d, [rcx - 0x61]
cmp r11w, 5
ja 0x1400081a1
sub ecx, 0x57
jmp 0x1400081af
lea r11d, [rcx - 0x41]
cmp r11w, 5
ja 0x1400081ca
sub ecx, 0x37
cmp r9b, 0xff
je 0x1400081ca
shl r9d, 4
inc eax
or r9d, ecx
mov byte [rbx + rdx], r9b
inc rdx
jmp 0x1400080f5
xor ebp, ebp
jmp 0x1400081d3
mov ebp, 1
mov esi, edx
movsxd rdx, edx
mov byte [rbx + rdx], 0
mov byte [rbx + rdx + 1], 0
test ebp, ebp
jne 0x1400081f3
mov rcx, rbx
call fcn.140007384
xor esi, esi
xor ebx, ebx
xor ebp, ebp
mov eax, 0x15
lea rdx, [rsp + 0x9f]
dec rax
je 0x14000820b
mov byte [rdx + rax], 0
jmp 0x140008200
xor r12d, r12d
test ebp, ebp
je 0x14000841d
movabs rax, 0x4e2e4cf54a188649
mov qword [rsp + 0x88], rax
movabs rax, 0x1e4135c725453e58
mov qword [rsp + 0x90], rax
movabs rax, 0xd76fda1be153bb78
mov qword [rsp + 0x98], rax
movabs rax, 0x2627203f53514063
mov qword [rsp + 0x58], rax
movabs rax, 0x629181bb123f28a7
mov qword [rsp + 0x60], rax
test esi, esi
je 0x140008273
test rbx, rbx
jne 0x14000827d
xor ebp, ebp
xor r12d, r12d
jmp 0x1400083e8
mov eax, esi
and eax, 0xf
je 0x140008289
sub esi, eax
add esi, 0x10
movsxd r13, esi
mov rcx, r13
call fcn.140007360
mov r12, rax
test rax, rax
je 0x140008273
lea rax, [rsp + 0xa0]
lea rdx, [rsp + 0x88]
mov r8d, 0xc0
mov rcx, rax
mov qword [rsp + 0x30], rax
call fcn.14000766f
mov dword [rsp + 0x3c], eax
cmp r12, rbx
je 0x1400082d4
xor ebp, ebp
lea r8, [rsp + 0x58]
jmp 0x14000837d
mov eax, 0x11
lea rdx, [rsp + 0x67]
lea rcx, [rsp + 0x57]
dec rax
je 0x1400082f2
mov r8b, byte [rcx + rax]
mov byte [rdx + rax], r8b
jmp 0x1400082e3
mov r14, rbx
lea rax, [rsp + 0x77]
lea r15, [rsp + 0x67]
mov ebp, 0x11
dec rbp
je 0x140008313
mov dl, byte [r14 + rbp - 1]
mov byte [rax + rbp], dl
jmp 0x140008304
mov edx, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x30]
mov r9, r14
mov r8, r14
mov qword [rsp + 0x40], rax
call fcn.140007c3c
mov rax, qword [rsp + 0x40]
mov dl, byte [rsp + rbp + 0x68]
xor byte [r14 + rbp], dl
inc rbp
cmp rbp, 0x10
jne 0x140008331
mov edx, 0x11
dec rdx
je 0x140008355
mov cl, byte [rax + rdx]
mov byte [r15 + rdx], cl
jmp 0x140008347
add r14, 0x10
mov edx, r14d
sub edx, ebx
cmp edx, esi
jl 0x1400082ff
jmp 0x1400083ae
mov dl, byte [r14 + rax]
xor byte [r9 + rax], dl
inc rax
cmp rax, 0x10
jne 0x140008364
add rbp, 0x10
cmp esi, ebp
jle 0x1400083ae
mov edx, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x30]
lea r9, [r12 + rbp]
mov r14, r8
lea r8, [rbx + rbp]
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], r8
call fcn.140007c3c
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
xor eax, eax
jmp 0x140008364
cmp esi, 0xf
jle 0x1400083d7
movzx eax, byte [r12 + r13 - 1]
lea edx, [rax - 1]
cmp dl, 0xf
ja 0x1400083d7
add r13, r12
mov dl, 1
cmp al, dl
je 0x1400083e4
dec r13
cmp al, byte [r13 - 1]
jne 0x1400083d7
inc edx
jmp 0x1400083c6
mov rcx, r12
call fcn.140007384
jmp 0x140008273
sub esi, eax
mov ebp, esi
mov eax, 0x19
lea rdx, [rsp + 0x87]
dec rax
je 0x140008400
mov byte [rdx + rax], 0
jmp 0x1400083f5
mov eax, 0x11
lea rdx, [rsp + 0x57]
dec rax
je 0x140008415
mov byte [rdx + rax], 0
jmp 0x14000840a
mov rcx, rbx
call fcn.140007384
mov rax, r12
mov dword [rdi], ebp
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret