Function at 0x7ff9101b6040
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x7ff91020e040]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov r13, r8
mov r12, rdx
mov rsi, rcx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rdx
xor edi, edi
mov dword [rsp + 0x30], edi
mov r15, qword [rdx + 0x10]
movabs rax, 0xff00ff00ff00ff00
cmp r15, rax
jae 0x7ff9101b60b7
mov eax, 0x20000
sub rax, r15
shr rax, 0xb
mov ecx, edi
cmp r15, 0x20000
cmovb rcx, rax
mov r14, r15
shr r14, 8
add r14, r15
add r14, rcx
jne 0x7ff9101b60be
mov r14, 0xffffffffffffffb8
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
lea rbp, [r14 + 8]
mov qword [rsi], rdi
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rdi
test rbp, rbp
je 0x7ff9101b6148
movabs rax, 0x7fffffffffffffff
cmp rbp, rax
ja 0x7ff9101b631b
cmp rbp, 0x1000
jb 0x7ff9101b6120
lea rcx, [rbp + 0x27]
cmp rcx, rbp
jbe 0x7ff9101b6321
call fcn.7ff9101c96b0
test rax, rax
je 0x7ff9101b6119
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x7ff9101b612b
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbp
call fcn.7ff9101c96b0
mov rcx, rax
mov qword [rsi], rcx
lea rax, [rcx + rbp]
mov qword [rsi + 0x10], rax
lea rbx, [rcx + rbp]
mov r8, rbp
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rsi + 8], rbx
mov dword [rsp + 0x30], 1
mov rcx, qword [rsi]
mov rdx, qword [rsi + 0x10]
sub rdx, rcx
lea r8, [0x7ff9101ed55c]
call qword [sym.imp.ucrtbase.dll_strcpy_s]
mov rax, qword [rsi]
mov r8, qword [rsi + 0x10]
sub r8, rax
lea rcx, [rax + 4]
test rcx, rcx
jne 0x7ff9101b6188
call qword [sym.imp.ucrtbase.dll__errno]
mov dword [rax], 0x16
jmp 0x7ff9101b61a6
cmp r8, 8
jb 0x7ff9101b6193
mov qword [rcx], r15
jmp 0x7ff9101b61ac
xor edx, edx
call sub.VCRUNTIME140.dll_memset
call qword [sym.imp.ucrtbase.dll__errno]
mov dword [rax], 0x22
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo]
mov r8, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x7ff9101b61bb
mov r8, qword [r12]
mov rcx, qword [rsi]
add rcx, 8
mov dword [rsp + 0x20], 0x16
mov r9, r15
mov rdx, r14
call fcn.7ff910174720
cmp rax, 0xffffffffffffff88
ja 0x7ff9101b62f8
lea r11, [rax + 8]
mov rdx, qword [rsi]
cmp r11, 0x10
jb 0x7ff9101b6282
lea rbx, [rdx - 0xf]
add rbx, r11
mov ecx, 0x61c88679
mov r8d, 0x24234452
mov r9d, 0x85ebcaa1
mov r10d, 0x2a
nop
imul eax, dword [rdx], 0x7a143589
sub r8d, eax
rol r8d, 0xd
imul r8d, r8d, 0x9e3779b1
imul eax, dword [rdx + 4], 0x7a143589
sub r9d, eax
rol r9d, 0xd
imul r9d, r9d, 0x9e3779b1
imul eax, dword [rdx + 8], 0x7a143589
sub r10d, eax
rol r10d, 0xd
imul r10d, r10d, 0x9e3779b1
imul eax, dword [rdx + 0xc], 0x7a143589
sub ecx, eax
rol ecx, 0xd
imul ecx, ecx, 0x9e3779b1
add rdx, 0x10
cmp rdx, rbx
jb 0x7ff9101b6210
rol ecx, 0x12
rol r10d, 0xc
add ecx, r10d
rol r9d, 7
add ecx, r9d
rol r8d, 1
add ecx, r8d
jmp 0x7ff9101b6287
mov ecx, 0x165667db
add ecx, r11d
mov r8, r11
and r8d, 0xf
call fcn.7ff910169830
mov dword [rsp + 0x58], eax
test r11, r11
je 0x7ff9101b62c4
mov rax, rdi
mov r9, qword [rsi]
add r9, rax
and eax, 3
movsx edx, dil
imul r8d, edx, 0x29
add r8b, byte [rsp + rax + 0x58]
xor byte [r9], r8b
inc edi
mov eax, edi
cmp rax, r11
jb 0x7ff9101b62a2
mov qword [r13], r11
mov rcx, r12
call fcn.7ff9100b4210
mov rax, rsi
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.7ff9101c9690
mov rbx, qword [rsp + 0xc8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, [0x7ff9101ed538]
lea rcx, [rsp + 0x38]
call fcn.7ff9101b4140
lea rdx, [0x7ff91020af00]
lea rcx, [rsp + 0x38]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
call fcn.7ff9100b54d0
int3
call fcn.7ff9100b38d0
int3