Function at 0x14000802e
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 0x1400081dd
lea rbx, [rsp + 0xa0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rsi, eax
test esi, esi
je 0x1400080b3
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 0x1400081dd
sub ebp, esi
mov ecx, ebp
sar ecx, 1
add ecx, 2
movsxd rcx, ecx
call fcn.140007350
mov rbx, rax
test rax, rax
je 0x1400081dd
add rsi, rsi
xor edx, edx
xor eax, eax
movabs r10, 0xfffffffeffffd9ff
lea r8, [r12 + rsi]
cmp ebp, eax
jle 0x1400081be
cdqe
cmp ebp, eax
jle 0x1400081be
mov cx, word [r8 + rax*2]
cmp cx, 0x20
jbe 0x140008113
lea r11d, [rcx - 0x30]
lea r9d, [rcx - 0x30]
cmp r11w, 9
jbe 0x14000814b
jmp 0x140008128
mov r11, r10
lea r9, [rax + 1]
sar r11, cl
and r11b, 1
jne 0x140008139
mov rax, r9
jmp 0x1400080ef
lea r9d, [rcx - 0x61]
cmp r9w, 5
ja 0x140008139
lea r9d, [rcx - 0x57]
jmp 0x14000814b
lea r11d, [rcx - 0x41]
mov r9b, 0xff
cmp r11w, 5
ja 0x14000814b
lea r9d, [rcx - 0x37]
inc eax
cdqe
mov cx, word [r8 + rax*2]
cmp ebp, eax
jle 0x140008171
cmp cx, 0x20
ja 0x140008171
mov rsi, r10
inc rax
sar rsi, cl
mov rcx, rsi
and cl, 1
je 0x14000814f
jmp 0x1400081ba
lea r11d, [rcx - 0x30]
cmp r11w, 9
ja 0x140008181
sub ecx, 0x30
jmp 0x14000819f
lea r11d, [rcx - 0x61]
cmp r11w, 5
ja 0x140008191
sub ecx, 0x57
jmp 0x14000819f
lea r11d, [rcx - 0x41]
cmp r11w, 5
ja 0x1400081ba
sub ecx, 0x37
cmp r9b, 0xff
je 0x1400081ba
shl r9d, 4
inc eax
or r9d, ecx
mov byte [rbx + rdx], r9b
inc rdx
jmp 0x1400080e5
xor ebp, ebp
jmp 0x1400081c3
mov ebp, 1
mov esi, edx
movsxd rdx, edx
mov byte [rbx + rdx], 0
mov byte [rbx + rdx + 1], 0
test ebp, ebp
jne 0x1400081e3
mov rcx, rbx
call fcn.140007374
xor esi, esi
xor ebx, ebx
xor ebp, ebp
mov eax, 0x15
lea rdx, [rsp + 0x9f]
dec rax
je 0x1400081fb
mov byte [rdx + rax], 0
jmp 0x1400081f0
xor r12d, r12d
test ebp, ebp
je 0x14000840d
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 0x140008263
test rbx, rbx
jne 0x14000826d
xor ebp, ebp
xor r12d, r12d
jmp 0x1400083d8
mov eax, esi
and eax, 0xf
je 0x140008279
sub esi, eax
add esi, 0x10
movsxd r13, esi
mov rcx, r13
call fcn.140007350
mov r12, rax
test rax, rax
je 0x140008263
lea rax, [rsp + 0xa0]
lea rdx, [rsp + 0x88]
mov r8d, 0xc0
mov rcx, rax
mov qword [rsp + 0x30], rax
call fcn.14000765f
mov dword [rsp + 0x3c], eax
cmp r12, rbx
je 0x1400082c4
xor ebp, ebp
lea r8, [rsp + 0x58]
jmp 0x14000836d
mov eax, 0x11
lea rdx, [rsp + 0x67]
lea rcx, [rsp + 0x57]
dec rax
je 0x1400082e2
mov r8b, byte [rcx + rax]
mov byte [rdx + rax], r8b
jmp 0x1400082d3
mov r14, rbx
lea rax, [rsp + 0x77]
lea r15, [rsp + 0x67]
mov ebp, 0x11
dec rbp
je 0x140008303
mov dl, byte [r14 + rbp - 1]
mov byte [rax + rbp], dl
jmp 0x1400082f4
mov edx, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x30]
mov r9, r14
mov r8, r14
mov qword [rsp + 0x40], rax
call fcn.140007c2c
mov rax, qword [rsp + 0x40]
mov dl, byte [rsp + rbp + 0x68]
xor byte [r14 + rbp], dl
inc rbp
cmp rbp, 0x10
jne 0x140008321
mov edx, 0x11
dec rdx
je 0x140008345
mov cl, byte [rax + rdx]
mov byte [r15 + rdx], cl
jmp 0x140008337
add r14, 0x10
mov edx, r14d
sub edx, ebx
cmp edx, esi
jl 0x1400082ef
jmp 0x14000839e
mov dl, byte [r14 + rax]
xor byte [r9 + rax], dl
inc rax
cmp rax, 0x10
jne 0x140008354
add rbp, 0x10
cmp esi, ebp
jle 0x14000839e
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.140007c2c
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
xor eax, eax
jmp 0x140008354
cmp esi, 0xf
jle 0x1400083c7
movzx eax, byte [r12 + r13 - 1]
lea edx, [rax - 1]
cmp dl, 0xf
ja 0x1400083c7
add r13, r12
mov dl, 1
cmp al, dl
je 0x1400083d4
dec r13
cmp al, byte [r13 - 1]
jne 0x1400083c7
inc edx
jmp 0x1400083b6
mov rcx, r12
call fcn.140007374
jmp 0x140008263
sub esi, eax
mov ebp, esi
mov eax, 0x19
lea rdx, [rsp + 0x87]
dec rax
je 0x1400083f0
mov byte [rdx + rax], 0
jmp 0x1400083e5
mov eax, 0x11
lea rdx, [rsp + 0x57]
dec rax
je 0x140008405
mov byte [rdx + rax], 0
jmp 0x1400083fa
mov rcx, rbx
call fcn.140007374
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