Function at 0x1400a8430
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov rdi, r9
mov r15, rcx
test r8, r8
je 0x1400a8739
cmp word [r8], 0
je 0x1400a8739
xor ebp, ebp
mov qword [r11 - 0x68], rbp
mov byte [rsp + 0x48], bpl
lea rax, vtable.CStringCharFromWChar.0
mov qword [r11 - 0x70], rax
lea rdx, [r11 - 0x70]
mov rcx, r8
call fcn.1400dd0f0
nop
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x20], rbx
lea rsi, [0x1401389a0]
mov r12, rsi
test rbx, rbx
je 0x1400a84b3
mov rax, qword [rbx]
test rax, rax
cmovne r12, rax
lea rax, vtable.CKuStringT_char__class_CKuStringUtilA_.0
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbp
mov byte [rsp + 0x60], 0
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.1400a6ef0
mov rbp, qword [rsp + 0x58]
mov qword [rsp + 0x28], rbp
test rbp, rbp
je 0x1400a84f0
mov rax, qword [rbp]
test rax, rax
cmovne rsi, rax
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasb al, byte [rdi]
not rcx
lea r13, [rcx - 1]
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasb al, byte [rdi]
not rcx
dec rcx
mov r14, rcx
test r13, r13
je 0x1400a86cf
test rcx, rcx
je 0x1400a86cf
mov rax, qword [rsp + 0xb8]
mov qword [rax], r13
mov rdx, r13
mov rcx, r15
call fcn.14001ad10
mov r11, qword [r15 + 8]
movzx edx, byte [r12]
movzx edi, dl
shr dil, 3
and dil, 0xf
movzx eax, dl
and al, 7
shl al, 4
or dil, al
and dl, 0x80
or dil, dl
mov rcx, rsi
call fcn.1400a6cf0
mov edx, eax
add rdx, r14
add rdx, r13
xor dl, dil
mov byte [r11], dl
lea r10, [r12 + 1]
inc r11
xor eax, eax
mov r15d, eax
mov qword [rsp + 0xc0], rax
lea rax, [r13 - 1]
test rax, rax
je 0x1400a8661
sub r12, r10
movabs rdx, 0xa41a41a41a41a41b
lea rbx, [r13 - 1]
mov ebp, r15d
nop dword [rax]
lea rax, [r10 + rbp]
movzx r8d, byte [r12 + rax]
xor r8b, byte [r11 - 1]
rol r8b, 4
movzx ecx, byte [rax]
movzx r9d, cl
shr r9b, 3
and r9b, 0xf
movzx eax, cl
and al, 7
shl al, 4
or r9b, al
and cl, 0x80
or r9b, cl
movzx edi, bpl
movzx eax, r8b
xor rdi, rax
mov rax, rdx
mul rdi
mov rcx, rdi
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 7
imul rcx, rcx, 0x9c
mov eax, 0x64
sub rax, rcx
add rdi, rax
movsx eax, byte [r15 + rsi]
sub eax, ebp
movzx ecx, r8b
add eax, r13d
add eax, ecx
xor edx, edx
div rdi
xor dl, r9b
mov byte [r11], dl
inc r15
cmp r15, r14
mov eax, 0
cmovae r15, rax
inc r11
inc rbp
cmp rbp, rbx
movabs rdx, 0xa41a41a41a41a41b
jb 0x1400a85b0
mov rbx, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
lea rsi, vtable.CKuStringT_char__class_CKuStringUtilA_.0
mov qword [rsp + 0x50], rsi
test rbp, rbp
je 0x1400a869c
mov eax, dword [rbp + 0x20]
dec eax
mov dword [rbp + 0x20], eax
jne 0x1400a8697
mov rdi, qword [rsp + 0x58]
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400a868f
call fcn.140108f48
mov rcx, rdi
call fcn.140108f40
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x38], rsi
test rbx, rbx
je 0x1400a86cb
mov eax, dword [rbx + 0x20]
dec eax
mov dword [rbx + 0x20], eax
jne 0x1400a86cb
mov rdi, qword [rsp + 0x40]
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400a86c3
call fcn.140108f48
mov rcx, rdi
call fcn.140108f40
mov al, 1
jmp 0x1400a873b
lea rsi, vtable.CKuStringT_char__class_CKuStringUtilA_.0
mov qword [rsp + 0x50], rsi
test rbp, rbp
je 0x1400a870a
mov eax, dword [rbp + 0x20]
dec eax
mov dword [rbp + 0x20], eax
jne 0x1400a8705
mov rdi, qword [rsp + 0x58]
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400a86fd
call fcn.140108f48
mov rcx, rdi
call fcn.140108f40
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x38], rsi
test rbx, rbx
je 0x1400a8739
mov eax, dword [rbx + 0x20]
dec eax
mov dword [rbx + 0x20], eax
jne 0x1400a8739
mov rdi, qword [rsp + 0x40]
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400a8731
call fcn.140108f48
mov rcx, rdi
call fcn.140108f40
xor al, al
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret