Function at 0x140048c30
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
movabs rax, 0x800000000000001
cmp rdx, rax
jae 0x1400491f4
mov r8, rcx
dec rdx
or rdx, 1
bsr rcx, rdx
xor rcx, 0xffffffffffffffc0
add rcx, 0x41
mov r14d, 1
shl r14, cl
mov r15d, 2
shl r15, cl
mov rsi, qword [r8 + 8]
mov rax, qword [r8 + 0x18]
mov qword [rsp + 0x28], r8
mov r8, qword [r8 + 0x20]
mov rdx, r8
sub rdx, rax
mov r9, rdx
sar r9, 3
cmp r9, r15
jae 0x140048cf0
mov rax, r15
shr rax, 0x3d
jne 0x140049200
mov eax, 0x10
shl rax, cl
cmp r15, 0x200
jb 0x140048d66
movabs rcx, 0x1ffffffffffffffc
cmp r15, rcx
jae 0x140049200
add rax, 0x27
mov rcx, rax
call fcn.140117ae8
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140048d71
cmp rax, r8
je case.default.0x140048d5b
mov rcx, rdx
shr rcx, 6
cmp rdx, 0x40
jb 0x140048d38
lea r8, [rax + 0x38]
mov r9, rcx
nop dword [rax]
mov qword [r8 - 0x38], rsi
mov qword [r8 - 0x30], rsi
mov qword [r8 - 0x28], rsi
mov qword [r8 - 0x20], rsi
mov qword [r8 - 0x18], rsi
mov qword [r8 - 0x10], rsi
mov qword [r8 - 8], rsi
mov qword [r8], rsi
add r8, 0x40
dec r9
jne 0x140048d10
and edx, 0x38
add rdx, 0xfffffffffffffff8
shr rdx, 3
cmp rdx, 6
ja case.default.0x140048d5b
lea r8, [0x140124ee4]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
shl rcx, 3
jmp 0x140048e8f
mov rcx, rax
call fcn.140117ae8
mov rdi, rax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax + 0x18]
mov rdx, qword [rax + 0x28]
sub rdx, rcx
je 0x140048dad
cmp rdx, 0x1000
jb 0x140048da8
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140049205
add rdx, 0x27
mov rcx, rax
call fcn.140117b2c
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 0x18], rdi
lea rax, [rdi + r15*8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x28], rax
cmp r15, 8
jb 0x140048e08
mov rax, r15
shr rax, 3
lea rcx, [rdi + 0x38]
nop word cs:[rax + rax]
mov qword [rcx - 0x38], rsi
mov qword [rcx - 0x30], rsi
mov qword [rcx - 0x28], rsi
mov qword [rcx - 0x20], rsi
mov qword [rcx - 0x18], rsi
mov qword [rcx - 0x10], rsi
mov qword [rcx - 8], rsi
mov qword [rcx], rsi
add rcx, 0x40
dec rax
jne 0x140048de0
mov rax, r15
and rax, 0xfffffffffffffff8
and r15d, 6
cmp r15, 2
je 0x140048e39
cmp r15d, 4
je 0x140048e2f
cmp r15d, 6
jne case.default.0x140048d5b
mov qword [rdi + rax*8 + 0x28], rsi
mov qword [rdi + rax*8 + 0x20], rsi
mov qword [rdi + rax*8 + 0x18], rsi
mov qword [rdi + rax*8 + 0x10], rsi
mov qword [rdi + rax*8 + 8], rsi
lea rax, [rdi + rax*8]
jmp 0x140048e93
shl rcx, 3
jmp 0x140048e85
shl rcx, 3
jmp 0x140048e80
shl rcx, 3
jmp 0x140048e7b
shl rcx, 3
jmp 0x140048e8a
shl rcx, 3
jmp 0x140048e76
lea rdx, [rcx*8]
shl rcx, 6
mov qword [rcx + rax + 0x30], rsi
mov rcx, rdx
mov qword [rax + rcx*8 + 0x28], rsi
mov qword [rax + rcx*8 + 0x20], rsi
mov qword [rax + rcx*8 + 0x18], rsi
mov qword [rax + rcx*8 + 0x10], rsi
mov qword [rax + rcx*8 + 8], rsi
lea rax, [rax + rcx*8]
mov qword [rax], rsi
lea rax, [r14 - 1]
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 0x30], rax
mov qword [rcx + 0x38], r14
mov rax, qword [rcx + 8]
mov r12, qword [rax]
cmp r12, rsi
je 0x1400491e3
mov r14, rcx
mov qword [rsp + 0x38], rsi
jmp 0x140048ee8
mov rax, qword [rsp + 0x30]
mov qword [r13 + rbx*8], rax
mov qword [r13 + rbx*8 + 8], rax
cmp r12, rsi
je 0x1400491e3
mov rax, r12
mov r12, qword [r12]
mov qword [rsp + 0x30], rax
mov rdi, qword [rax + 0x10]
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov ecx, 0x84222325
test rax, rax
je 0x140048fe7
cmp rax, 8
jb 0x140048fbb
mov rdx, rax
shr rdx, 3
xor r8d, r8d
nop word cs:[rax + rax]
movzx r9d, byte [rdi + r8*8]
xor r9d, ecx
imul ecx, r9d, 0x1b3
movzx r9d, byte [rdi + r8*8 + 1]
xor r9d, ecx
imul ecx, r9d, 0x1b3
movzx r9d, byte [rdi + r8*8 + 2]
xor r9d, ecx
imul ecx, r9d, 0x1b3
movzx r9d, byte [rdi + r8*8 + 3]
xor r9d, ecx
imul ecx, r9d, 0x1b3
movzx r9d, byte [rdi + r8*8 + 4]
xor r9d, ecx
imul ecx, r9d, 0x1b3
movzx r9d, byte [rdi + r8*8 + 5]
xor r9d, ecx
imul ecx, r9d, 0x1b3
movzx r9d, byte [rdi + r8*8 + 6]
xor r9d, ecx
imul ecx, r9d, 0x1b3
movzx r9d, byte [rdi + r8*8 + 7]
xor r9d, ecx
imul ecx, r9d, 0x1b3
inc r8
cmp rdx, r8
jne 0x140048f30
mov rdx, rax
and rdx, 0xfffffffffffffff8
cmp rdx, rax
jae 0x140048fe7
nop word [rax + rax]
movzx r8d, byte [rdi + rdx]
xor r8d, ecx
imul ecx, r8d, 0x1b3
inc rdx
cmp rax, rdx
jne 0x140048fd0
and ecx, 0x7fffffff
mov edx, 0x1f31d
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_ldiv]
imul ecx, eax, 0xfffff4ec
shr rax, 0x20
imul eax, eax, 0x41a7
lea edx, [rax + rcx]
add edx, 0x7fffffff
add eax, ecx
cmovns edx, eax
movsxd rbp, edx
and rbp, qword [r14 + 0x30]
mov r13, qword [r14 + 0x18]
lea rbx, [rbp*2]
shl rbp, 4
mov r15, qword [r13 + rbp]
cmp r15, rsi
je 0x140048ed0
mov qword [rsp + 0x40], r12
mov r12, qword [r13 + rbx*8 + 8]
mov rdx, qword [r12 + 0x10]
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 0x10]
movzx esi, byte [rdi]
cmp sil, byte [rdx]
jge 0x140049140
mov r14, qword [r12 + 8]
cmp r15, r12
mov r12, qword [rsp + 0x40]
jne 0x14004908d
jmp 0x1400491a5
mov r14, qword [rbx + 8]
cmp r15, rbx
je 0x1400491a5
mov rdx, qword [r14 + 0x10]
cmp sil, byte [rdx]
jl 0x1400490b9
setg al
xor ecx, ecx
cmp rdi, rdx
sete cl
movzx eax, al
cmp cl, al
cmova eax, ecx
test al, al
jne 0x1400490f5
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jns 0x1400490f5
mov rbx, qword [r14 + 8]
cmp r15, r14
je 0x1400491a2
mov rdx, qword [rbx + 0x10]
cmp sil, byte [rdx]
jl 0x140049080
setg al
xor ecx, ecx
cmp rdi, rdx
sete cl
movzx eax, al
cmp cl, al
cmova eax, ecx
test al, al
jne 0x1400490f2
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
js 0x140049080
mov r14, rbx
mov rax, qword [r14]
mov r9, qword [rsp + 0x30]
mov rcx, qword [r9 + 8]
mov qword [rcx], r12
mov rdx, qword [r12 + 8]
mov qword [rdx], rax
mov r8, qword [rax + 8]
mov qword [r8], r9
mov qword [rax + 8], rdx
mov qword [r12 + 8], rcx
mov qword [r9 + 8], r8
mov r14, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x38]
cmp r12, rsi
jne 0x140048ee8
jmp 0x1400491e3
jg 0x140049157
cmp rdi, rdx
je 0x140049157
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
js 0x14004905f
mov rax, qword [r12]
mov r9, qword [rsp + 0x30]
cmp rax, r9
mov r12, qword [rsp + 0x40]
je 0x14004918d
mov rcx, qword [r9 + 8]
mov qword [rcx], r12
mov rdx, qword [r12 + 8]
mov qword [rdx], rax
mov r8, qword [rax + 8]
mov qword [r8], r9
mov qword [rax + 8], rdx
mov qword [r12 + 8], rcx
mov qword [r9 + 8], r8
mov qword [r13 + rbx*8 + 8], r9
mov rsi, qword [rsp + 0x38]
cmp r12, rsi
jne 0x140048ee8
jmp 0x1400491e3
mov r14, rbx
add r13, rbp
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 8]
mov qword [rax], r12
mov rcx, qword [r12 + 8]
mov qword [rcx], r15
mov qword [r14], rdx
mov qword [r15 + 8], rcx
mov qword [r12 + 8], rax
mov qword [rdx + 8], r14
mov qword [r13], rdx
mov r14, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x38]
cmp r12, rsi
jne 0x140048ee8
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x140124e58]
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
call fcn.1400032b0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3