Function at 0x14010b590
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov r15, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rdx, rax
ja 0x14010b428
lea rax, [rdx - 1]
or rax, 1
bsr rcx, rax
inc ecx
mov ebx, 1
shl rbx, cl
mov rbp, qword [r15 + 8]
lea rcx, [r15 + 0x18]
lea rdx, [rbx + rbx]
mov r8, rbp
call fcn.14002be10
lea rax, [rbx - 1]
mov qword [r15 + 0x30], rax
mov qword [r15 + 0x38], rbx
mov qword [rsp + 0x68], r15
mov rdi, qword [r15 + 8]
mov rdi, qword [rdi]
mov rsi, rdi
cmp rdi, rbp
je 0x14010b3e4
movabs rax, 0xcbf29ce484222325
movabs r10, 0x100000001b3
nop dword [rax]
mov rsi, qword [rsi]
mov r9, qword [rdi + 0x20]
lea r8, [rdi + 0x10]
cmp qword [rdi + 0x28], 0x10
jb 0x14010b286
mov r8, qword [rdi + 0x10]
xor edx, edx
test r9, r9
je 0x14010b2a4
nop dword [rax]
movzx ecx, byte [rdx + r8]
xor rax, rcx
imul rax, r10
inc rdx
cmp rdx, r9
jb 0x14010b290
and rax, qword [r15 + 0x30]
mov r12, rax
shl r12, 4
add r12, qword [r15 + 0x18]
lea rcx, [rax + rax]
mov rax, qword [r15 + 0x18]
lea r15, [rax + rcx*8]
cmp qword [r12], rbp
jne 0x14010b2d2
mov qword [r12], rdi
mov qword [r15 + 8], rdi
jmp 0x14010b3c9
mov rbx, qword [r15 + 8]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14010b2e8
mov rdx, qword [rdx]
mov r8, r9
lea rcx, [rdi + 0x10]
cmp qword [rdi + 0x28], 0x10
jb 0x14010b2fa
mov rcx, qword [rdi + 0x10]
cmp r8, rax
jne 0x14010b30f
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14010b30f
mov eax, 1
jmp 0x14010b311
xor eax, eax
test al, al
je 0x14010b344
mov rax, qword [rbx]
cmp rax, rdi
je 0x14010b33e
mov r8, qword [rdi + 8]
mov qword [r8], rsi
mov rcx, qword [rsi + 8]
mov qword [rcx], rax
mov rdx, qword [rax + 8]
mov qword [rdx], rdi
mov qword [rax + 8], rcx
mov qword [rsi + 8], r8
mov qword [rdi + 8], rdx
mov qword [r15 + 8], rdi
jmp 0x14010b3bf
cmp qword [r12], rbx
je 0x14010b39a
mov r15, qword [rdi + 0x20]
mov r13, qword [r12]
mov rbx, qword [rbx + 8]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14010b368
mov rdx, qword [rdx]
lea rcx, [rdi + 0x10]
cmp qword [rdi + 0x28], 0x10
jb 0x14010b377
mov rcx, qword [rdi + 0x10]
cmp r15, rax
jne 0x14010b38f
mov r8, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14010b38f
mov eax, 1
jmp 0x14010b391
xor eax, eax
test al, al
jne 0x14010b402
cmp r13, rbx
jne 0x14010b352
mov rdx, qword [rdi + 8]
mov qword [rdx], rsi
mov rax, qword [rsi + 8]
mov qword [rax], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov qword [rbx + 8], rax
mov qword [rsi + 8], rdx
mov qword [rdi + 8], rcx
mov qword [r12], rdi
movabs r10, 0x100000001b3
mov rdi, rsi
cmp rsi, rbp
mov r15, qword [rsp + 0x60]
movabs rax, 0xcbf29ce484222325
jne 0x14010b270
mov qword [rsp + 0x68], 0
mov rbx, qword [rsp + 0x70]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rbx]
mov r8, qword [rdi + 8]
mov qword [r8], rsi
mov rcx, qword [rsi + 8]
mov qword [rcx], rax
mov rdx, qword [rax + 8]
mov qword [rdx], rdi
mov qword [rax + 8], rcx
mov qword [rsi + 8], r8
mov qword [rdi + 8], rdx
jmp 0x14010b3bf
lea rcx, str.invalid_hash_bucket_count
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdx, qword [rcx + 0x10]
mov rdi, rcx
add rdx, 1
mov rbx, qword [rcx + 0x38]
xorps xmm0, xmm0
js 0x14010b5b5
cvtsi2ss xmm0, rdx
jmp 0x14010b5ca
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
movss xmm1, dword [0x140190d40]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x14010b5f8
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x14010b5f8
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov rcx, qword [reloc.OLEAUT32.dll_VariantClear]
cmp rax, 8
cmova rcx, rax
cmp rbx, rcx
jae 0x14010b635
cmp rbx, 0x200
jae 0x14010b632
lea rax, [rbx*8]
lea rbx, [rbx*8]
cmp rax, rcx
jae 0x14010b635
mov rbx, rcx
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x14010b1d0