Function at 0x14004ae70
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x220]
sub rsp, 0x320
mov rax, qword [0x1400fff18]
xor rax, rsp
mov qword [rbp + 0x210], rax
mov r12, rcx
xor r15d, r15d
mov dword [rsp + 0x48], r15d
cmp byte [0x140100f58], r15b
jne 0x14004aee8
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
lea r8d, [r15 + 0x52]
lea rdx, str.You_need_to_run_the_KeyAuthApp.init____function_before_any_other_KeyAuth_functions
lea rcx, [rbp - 0x80]
call fcn.14002c538
lea rcx, [rbp - 0x80]
call fcn.14004d1a0
mov dword [rsp + 0x70], 0xf0eaf3bd
mov dword [rsp + 0x74], 0xc6c8d2fa
mov word [rsp + 0x78], 0x9e
mov byte [rsp + 0x7a], 1
mov dword [rsp + 0x48], 0xf3fcf2bd
mov dword [rsp + 0x4c], 0x1009dfa
mov dword [rsp + 0x60], 0xedf8efbd
mov dword [rsp + 0x64], 0xcccec9ec
mov dword [rsp + 0x68], 0x98c0ca
mov byte [rsp + 0x6c], 1
mov dword [rsp + 0x50], 0xfbede5ef
mov dword [rsp + 0x54], 0xc7c9c3a2
mov dword [rsp + 0x58], 0x100cfc0
mov rcx, r15
nop dword [rax]
lea eax, [rcx - 0x65]
xor byte [rsp + rcx + 0x60], al
inc rcx
cmp rcx, 0xb
jb 0x14004af50
mov byte [rsp + 0x6c], r15b
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x6b]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x40]
call fcn.140042e00
nop
cmp byte [rsp + 0x5b], 0
je 0x14004afa5
mov rcx, r15
nop dword [rax + rax]
lea eax, [rcx - 0x65]
xor byte [rsp + rcx + 0x50], al
inc rcx
cmp rcx, 0xa
jb 0x14004af90
mov byte [rsp + 0x5b], 0
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x5a]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x48]
call fcn.140042e00
nop
lea r9, [rbp - 0x40]
lea r8, [rbp + 0x48]
movzx edx, byte [rsp + 0x30]
lea rcx, [rbp - 0x60]
call fcn.14002e69c
nop
mov rdx, qword [rbp + 0x60]
cmp rdx, 0x10
jb 0x14004b014
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b00e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b00e
call 0x140140dca
int3
call fcn.1400a45d0
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x14004b053
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b04d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b04d
push rcx
call 0x14011b83e
int3
call fcn.1400a45d0
nop
lea rdx, [r12 + 0x238]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14004b069
mov rdx, qword [rdx]
lea rcx, [rbp - 0x60]
call fcn.140033884
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x30], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r8, [rsp + 0x48]
lea rdx, [rbp + 0x20]
lea rcx, [rbp]
call fcn.140043330
nop
mov rdx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x14004b0b2
mov rdx, qword [r12]
mov r8, qword [r12 + 0x10]
mov rcx, rax
call fcn.140033884
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x20]
call fcn.1400434f0
nop
lea rdx, [r12 + 0x20]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14004b103
mov rdx, qword [rdx]
mov rcx, rax
call fcn.140033884
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xd8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xe8], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x14004b16d
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b168
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b168
push rax
call 0x14010f977
int3
call fcn.1400a45d0
movdqa xmm0, xmmword [0x1400b0630]
movdqu xmmword [rbp - 0x10], xmm0
mov byte [rbp - 0x20], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x14004b1bd
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b1b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b1b7
push rdx
call 0x140109662
int3
call fcn.1400a45d0
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x14004b1fb
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b1f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b1f6
push rax
call 0x140132a73
int3
call fcn.1400a45d0
movdqa xmm0, xmmword [0x1400b0630]
movdqu xmmword [rbp + 0x10], xmm0
mov byte [rbp], 0
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x14004b24b
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b245
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b245
push rdi
call 0x140119642
int3
call fcn.1400a45d0
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x14004b289
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b284
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b284
call 0x140138141
int3
call fcn.1400a45d0
movdqa xmm0, xmmword [0x1400b0630]
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x60], 0
lea rax, [rbp - 0x40]
mov qword [rbp + 0x40], rax
lea rdx, [r12 + 0x80]
lea rcx, [rbp - 0x40]
call fcn.140048c50
mov r14, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
lea rsi, [rbp + 0xd8]
mov r13, qword [rbp + 0xd8]
cmp qword [rbp + 0xf0], 0x10
cmovae rsi, r13
movabs rbx, 0x7fffffffffffffff
mov rdi, qword [rbp + 0xe8]
cmp rdi, rbx
ja 0x14004b97b
mov qword [rbp - 0x68], 0xf
cmp rdi, 0x10
jae 0x14004b314
mov qword [rbp - 0x70], rdi
movups xmm0, xmmword [rsi]
movups xmmword [rbp - 0x80], xmm0
jmp 0x14004b366
mov rax, rdi
or rax, 0xf
cmp rax, rbx
ja 0x14004b32f
mov rbx, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rbx, rcx
mov rdx, rbx
add rdx, 1
mov rax, 0xffffffffffffffff
cmovb rdx, rax
lea rcx, [rbp - 0x80]
call fcn.14004aa60
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call fcn.1400a58a8
nop
mov r8, r14
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x98]
call fcn.140052670
nop
mov qword [rbp + 0x80], r15
mov byte [rsp + 0x20], 0
mov r9b, 1
lea r8, [rbp + 0x48]
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x88]
call fcn.140046260
nop
mov dword [rsp + 0x38], 0xedeef9f6
mov dword [rsp + 0x3c], 0xc4c7fe
mov byte [rsp + 0x40], 1
mov rcx, r15
nop dword [rax]
lea eax, [rcx - 0x65]
xor byte [rsp + rcx + 0x38], al
inc rcx
cmp rcx, 7
jb 0x14004b3c0
mov byte [rsp + 0x40], 0
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x3f]
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x60]
call fcn.140042e00
nop
mov rbx, qword [rsp + 0x38]
movzx ecx, byte [rbp + 0x88]
test cl, cl
jne 0x14004b41a
mov byte [rbp + 0x88], 1
call fcn.140044ca0
mov qword [rbp + 0x90], rax
movzx ecx, byte [rbp + 0x88]
jmp 0x14004b421
mov rax, qword [rbp + 0x90]
cmp cl, 1
jne 0x14004b435
lea rdx, [rbp - 0x60]
mov rcx, rax
call fcn.140049c90
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0xb8], xmm0
movdqa xmm1, xmmword [0x1400b0630]
movdqu xmmword [rbp + 0xc8], xmm1
mov byte [rbp + 0xb8], 0
mov dword [rsp + 0x48], 0x1fd6
cmp byte [rbx], 3
jne 0x14004b475
mov rdx, qword [rbx + 8]
lea rax, [rbp + 0xb8]
cmp rax, rdx
je 0x14004b493
jmp 0x14004b478
mov rdx, r15
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14004b486
mov rdx, qword [rdx]
lea rcx, [rbp + 0xb8]
call fcn.14004aba0
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x14004b4d1
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b4cc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b4cc
call 0x1401377d2
int3
call fcn.1400a45d0
movdqa xmm0, xmmword [0x1400b0630]
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x60], 0
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x110]
call fcn.1400a58cc
lea rax, [0x1400b9840]
mov qword [rbp + 0x110], rax
lea rax, [0x1400b9848]
mov qword [rbp + 0x120], rax
lea rcx, [rbp + 0x1a8]
call 0x140139b39
int3
call fcn.1400337a0
nop
int3