Function at 0x1400c99f0
Capabilities:
Encode data using xor

Disassembly:
xchg rdi, rbx
mov qword [rsp + 8], rdi
xchg rdi, rbx
xchg rbp, r13
mov qword [rsp + 0x10], r13
xchg rbp, r13
mov qword [rsp + 0x18], rsi
nop
sub rsp, 8
mov qword [rsp], rdi
nop
mov qword [rsp - 8], r12
sub rsp, 8
push r13
push r14
push r15
sub rsp, 0x40
xchg r9, rbp
mov r14, rbp
xchg rbp, r9
xchg rbx, r8
mov r8, rbx
xchg rbx, r8
mov r15, rdx
xchg r13, rbp
mov rbp, rcx
xchg rbp, r13
mov r10, qword [r8 + 0x10]
cmp qword [r8 + 0x18], 0x10
jb 0x1400c9a58
mov r8, qword [r8]
movabs rdi, 0xcbf29ce43fadfff8
add rdi, 0x7fffffff
sub rdi, 0x3b8bdcd2
xor r9d, r9d
test r10, r10
je 0x1400c9ad3
movabs rcx, 0x100201eedfd
xor rcx, 0x201eec4e
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r9 + r8]
push rdi
xor edi, eax
push rdi
xor rdi, qword [rsp + 8]
shr rdi, 0x20
ror rax, 0x20
xor edi, eax
ror rax, 0x20
shl rdi, 0x20
xor rdi, qword [rsp]
add rsp, 0x10
imul rdi, rcx
inc r9
cmp r9, r10
jb 0x1400c9a9b
xchg rdi, r8
mov r9, r8
xchg r8, rdi
xchg r8, rbx
mov rbx, r8
xchg r8, rbx
lea rdx, [rsp + 0x30]
mov rcx, r13
call fcn.1400c92a0
xchg r9, rax
mov r9, qword [rsp + 0x38]
xchg r9, rax
test rax, rax
je 0x1400c9b1a
xchg rbx, rax
mov qword [r15], rbx
xchg rbx, rax
mov byte [r15 + 8], 0x69
sub byte [r15 + 8], 0x69
jmp 0x1400c9eb6
movabs rax, 0x3ffffff405ed3a0
add rax, 0x7fffffff
xor rax, 0x3fa12c60
cmp qword [r13 + 0x10], rax
je 0x1400c9f17
lea r12, [r13 + 8]
xchg r12, rsi
mov qword [rsp + 0x20], rsi
xchg rsi, r12
mov qword [rsp + 0x28], 0x22908564
xor qword [rsp + 0x28], 0x22908564
mov ecx, 0x622b2676
sub ecx, 0x622b2636
call fcn.140110294
mov rsi, rax
xchg rbp, rax
mov qword [rsp + 0x28], rbp
xchg rbp, rax
lea rbp, [rax + 0x10]
xchg rbx, rdx
mov rbx, rdx
xchg rdx, rbx
xchg rbp, rcx
mov rbp, rcx
xchg rcx, rbp
call fcn.1400161c0
xor eax, eax
xchg r8, rax
mov qword [rbp + 0x20], r8
xchg r8, rax
mov qword [rbp + 0x28], rax
mov rax, qword [r14 + 8]
test rax, rax
je 0x1400c9bb6
lock inc dword [rax + 8]
mov rsi, qword [rsp + 0x28]
mov rax, qword [r14]
xchg rbx, rax
mov qword [rbp + 0x20], rbx
xchg rbx, rax
xchg rbp, rax
mov rbp, qword [r14 + 8]
xchg rbp, rax
mov qword [rbp + 0x28], rax
mov r9, qword [r13 + 0x10]
lea rcx, [r9 + 1]
xchg r9, r13
movss xmm3, dword [r9]
xchg r13, r9
xorps xmm0, xmm0
test rcx, rcx
js 0x1400c9bf6
cvtsi2ss xmm0, rcx
jmp 0x1400c9c11
xchg rcx, r9
mov rax, r9
xchg r9, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
xchg rsi, rbx
mov rsi, qword [r13 + 0x38]
xchg rbx, rsi
xorps xmm2, xmm2
test rbx, rbx
js 0x1400c9c31
cvtsi2ss xmm2, rbx
jmp 0x1400c9c53
xchg r13, rbx
mov rcx, r13
xchg r13, rbx
shr rcx, 1
xchg r11, rax
mov r11, rbx
xchg r11, rax
and eax, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm1, xmm0
divss xmm1, xmm2
comiss xmm1, xmm3
seta al
test al, al
je 0x1400c9e0b
divss xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
xor ecx, ecx
movss xmm1, dword [0x1400015a0]
comiss xmm0, xmm1
jb 0x1400c9ca4
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x1400c9ca4
movabs rax, 0x8000000010cf2638
sub rax, 0x10cf2638
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 0x53c4743b
xor ecx, 0x53c47433
cmp rax, rcx
cmova rcx, rax
cmp rbx, rcx
jae 0x1400c9ce8
cmp rbx, 0x200
jae 0x1400c9ce5
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x1400c9ce8
mov rbx, rcx
xchg rbx, rdx
mov rbx, rdx
xchg rbx, rdx
xchg r13, r8
mov rcx, r8
xchg r8, r13
call fcn.1400d0bc0
xchg r10, rax
mov r10, qword [r13 + 0x30]
xchg r10, rax
and rax, rdi
add rax, rax
xchg rdx, rdi
mov rdi, qword [r13 + 0x18]
xchg rdi, rdx
xchg rbx, rcx
mov rcx, qword [rdx + rax*8 + 8]
xchg rcx, rbx
xchg rsi, rcx
mov rsi, qword [r12]
xchg rcx, rsi
cmp rbx, rcx
jne 0x1400c9d45
xchg rcx, r9
mov qword [rsp + 0x20], r9
xchg rcx, r9
jmp 0x1400c9de4
xchg r12, r13
mov r13, qword [rdx + rax*8]
xchg r12, r13
xchg r15, rbp
mov r15, qword [rsi + 0x20]
xchg r15, rbp
nop dword [rax + rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400c9d77
mov rdx, qword [rdx]
lea rcx, [rsi + 0x10]
cmp qword [rsi + 0x28], 0x10
jb 0x1400c9d90
xchg rcx, rbp
mov rbp, qword [rsi + 0x10]
xchg rcx, rbp
cmp rbp, rax
jne 0x1400c9daf
xchg rbp, r8
mov rbp, r8
xchg r8, rbp
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400c9dc1
cmp rbx, r12
je 0x1400c9ddb
mov rbx, qword [rbx + 8]
jmp 0x1400c9d61
mov rax, qword [rbx]
xchg r12, rax
mov qword [rsp + 0x20], r12
xchg r12, rax
mov qword [rsp + 0x28], rbx
lea r12, [r13 + 8]
jmp 0x1400c9df6
mov qword [rsp + 0x20], rbx
lea r12, [r13 + 8]
mov qword [rsp + 0x28], 0x2385baa5
xor qword [rsp + 0x28], 0x2385baa5
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm0
xchg rbp, r9
mov rbp, qword [r13 + 0x10]
xchg r9, rbp
xchg rbx, rdx
mov rbx, qword [rsp + 0x30]
xchg rdx, rbx
mov r8, qword [rdx + 8]
lea rax, [r9 + 1]
xchg r9, rax
mov qword [r13 + 0x10], r9
xchg r9, rax
xchg rdx, r15
mov qword [rsi], r15
xchg r15, rdx
xchg rdx, r8
mov qword [rsi + 8], rdx
xchg rdx, r8
xchg rsi, rdi
mov qword [r8], rdi
xchg rdi, rsi
mov qword [rdx + 8], rsi
mov rcx, qword [r13 + 0x18]
xchg r11, rax
mov r11, qword [r13 + 0x30]
xchg r11, rax
and rax, rdi
add rax, rax
mov r9, qword [rcx + rax*8]
cmp r9, qword [r12]
jne 0x1400c9e75
xchg r11, rsi
mov qword [rcx + rax*8], r11
xchg r11, rsi
jmp 0x1400c9e98
cmp r9, rdx
jne 0x1400c9e8d
xchg r11, rsi
mov qword [rcx + rax*8], r11
xchg rsi, r11
jmp 0x1400c9ea3
cmp qword [rcx + rax*8 + 8], r8
jne 0x1400c9ea3
xchg rsi, r13
mov qword [rcx + rax*8 + 8], r13
xchg r13, rsi
xchg rsi, r10
mov qword [r15], r10
xchg rsi, r10
mov byte [r15 + 8], 0x27
sub byte [r15 + 8], 0x26
mov rax, r15
xchg r11, rbx
mov r11, qword [rsp + 0x70]
xchg rbx, r11
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x40
nop
add rsp, 8
xchg qword [rsp - 8], r15
nop
add rsp, 8
mov r14, qword [rsp - 8]
push rax
push rcx
push rax
push rdx
xchg qword [rsp + 0x20], r13
pop rdx
pop rax
pop rcx
pop rax
add rsp, 8
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
add rsp, 8
jmp qword [rsp - 8]
lea rcx, [0x140001530]
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3