Function at 0x48b190
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov rax, r8
mov rdi, rdx
mov rbx, rcx
mov qword [rsp + 0x20], r9
lea rcx, [rsp + 0x70]
mov rdx, rbx
mov r8, rdi
mov r9, rax
call fcn.00499ec0
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x98]
cmp rdx, r8
sete r10b
cmp qword [rsp + 0x90], 0
je 0x48b482
mov r11, qword [rsp + 0xb8]
mov r9, rdi
cmp r11, rdx
je 0x48b5d7
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x88]
lea r13, [rax - 1]
mov r14, qword [rsp + 0x80]
mov rbp, qword [rsp + 0xb0]
mov r15, qword [rsp + 0xc8]
mov r10, qword [rsp + 0xa8]
mov rsi, rax
mov r9, r10
mov qword [rsp + 0x68], r10
sub rsi, r10
mov qword [rsp + 0x58], rsi
lea r9, [r8 - 1]
mov qword [rsp + 0x60], r9
mov r9, r11
sub r9, r8
mov qword [rsp + 0x48], r9
lea r12, [rcx + r11]
lea rdi, [rcx + r8]
lea rsi, [r14 + r8]
mov qword [rsp + 0x50], rbp
lea r9, [r11 + rax]
dec r9
cmp r9, rdx
jae 0x48b58b
lea r10, [r11 + rax]
mov qword [rsp + 0x38], r10
mov r10, qword [rsp + 0x68]
add r10, r11
mov qword [rsp + 0x40], r10
cmp r15, 0xffffffffffffffff
je 0x48b390
mov rbx, r11
jmp 0x48b2c5
xor r15d, r15d
mov rbx, qword [rsp + 0x38]
lea r9, [rbx + r13]
cmp r9, rdx
jae 0x48b58b
cmp r11, rbx
jne 0x48b58b
movzx r9d, byte [rcx + r9]
bt rbp, r9
jae 0x48b2b0
mov rbp, r13
cmp r8, r15
mov r9, r15
cmova r9, r8
mov r10, r9
nop dword [rax]
cmp r10, rax
jae 0x48b330
lea rbx, [r11 + r10]
cmp rbx, rdx
jae 0x48b61f
lea rbx, [r10 + 1]
movzx r13d, byte [r14 + r10]
cmp r13b, byte [r12 + r10]
mov r10, rbx
je 0x48b2f0
add rbx, qword [rsp + 0x48]
xor r15d, r15d
mov r13, rbp
mov rbp, qword [rsp + 0x50]
jmp 0x48b2b8
mov r9, r8
mov r13, rbp
mov rbp, qword [rsp + 0x50]
nop dword [rax + rax]
cmp r15, r9
jae 0x48b380
dec r9
cmp r9, rax
jae 0x48b5f7
lea r10, [r9 + r11]
cmp r10, rdx
jae 0x48b60b
movzx ebx, byte [r14 + r9]
cmp bl, byte [rcx + r10]
je 0x48b340
mov r15, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x40]
jmp 0x48b2b8
xor r15d, r15d
jmp 0x48b457
mov r10, r11
jmp 0x48b3ad
lea r9, [r10 + r13]
cmp r9, rdx
jae 0x48b58b
cmp r11, r10
jne 0x48b58b
movzx r9d, byte [rcx + r9]
bt rbp, r9
mov r10, qword [rsp + 0x38]
jae 0x48b3a0
xor r9d, r9d
mov r15, r11
nop dword [rax]
lea r10, [r8 + r9]
cmp r10, rax
jae 0x48b400
lea r10, [r8 + r15]
cmp r10, rdx
jae 0x48b61c
movzx ebx, byte [rsi + r9]
lea r10, [r15 + 1]
inc r9
cmp bl, byte [rdi + r15]
mov r15, r10
je 0x48b3d0
jmp 0x48b3a0
mov r15, qword [rsp + 0x60]
mov r9, r15
nop dword [rax + rax]
cmp r9, 0xffffffffffffffff
je 0x48b450
cmp r15, rax
jae 0x48b5f7
lea r10, [r11 + r9]
cmp r10, rdx
jae 0x48b60b
movzx r10d, byte [r14 + r9]
lea rbx, [r9 - 1]
cmp r10b, byte [r12 + r9]
mov r9, rbx
je 0x48b410
mov r10, qword [rsp + 0x40]
jmp 0x48b3a0
mov r15, 0xffffffffffffffff
add qword [rsp + 0x48], rax
add r12, rax
mov r9, qword [rsp + 0x38]
mov r11, r9
cmp r9, rdx
jne 0x48b26e
mov rdi, qword [rsp + 0x30]
mov r9, rdi
mov rbx, qword [rsp + 0x28]
jmp 0x48b5d7
cmp byte [rsp + 0xaa], 0
mov r9, rdi
jne 0x48b5d7
movzx eax, byte [rsp + 0xa8]
test r10b, 1
je 0x48b500
test r8, r8
je 0x48b5aa
cmp rdx, r8
jbe 0x48b5c6
cmp byte [rcx + r8], 0xc0
jl 0x48b63a
mov r9, rdi
test al, al
je 0x48b5d7
nop dword [rax]
xor al, 1
jne 0x48b4d0
jmp 0x48b5d4
movzx r10d, byte [rcx + r8]
test r10b, r10b
js 0x48b522
movzx r9d, r10b
mov r10d, eax
xor r10b, 1
test al, al
mov eax, r10d
je 0x48b59a
test r8, r8
je 0x48b4e0
cmp rdx, r8
jbe 0x48b63a
movzx r10d, byte [rcx + r8]
cmp r10b, 0xbf
jle 0x48b63a
test r10b, r10b
jns 0x48b4ea
mov r9d, r10d
and r9b, 0x1f
movzx r9d, r9b
movzx esi, byte [rcx + r8 + 1]
and esi, 0x3f
cmp r10b, 0xe0
jb 0x48b573
movzx r11d, byte [rcx + r8 + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r10b, 0xf0
jb 0x48b57f
movzx r10d, byte [rcx + r8 + 3]
and r9d, 7
shl r9d, 0x12
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
or r9d, r10d
jmp 0x48b4ee
shl r9d, 6
or r9d, esi
jmp 0x48b4ee
shl r9d, 0xc
or r9d, r11d
jmp 0x48b4ee
mov r9, r11
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
jmp 0x48b5d7
cmp r9d, 0x110000
cmove r8, rdi
mov r9, r8
jmp 0x48b5d7
mov r9, rdi
test al, al
je 0x48b5d7
nop word cs:[rax + rax]
xor al, 1
jne 0x48b5c0
jmp 0x48b5d4
mov r9, rdi
test al, al
je 0x48b5d7
nop dword [rax]
xor al, 1
jne 0x48b5d0
mov r9, rdi
add rbx, r9
sub rdi, r9
mov rax, rbx
mov rdx, rdi
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str._repos_rust_1.70.0_library_core_src_str_pattern.rs
mov rcx, r9
mov rdx, rax
call fcn.004adac0
ud2
lea r8, str._repos_rust_1.70.0_library_core_src_str_pattern.rs
mov rcx, r10
call fcn.004adac0
ud2
mov r9, r8
add r9, r11
cmp rdx, r9
cmova r9, rdx
lea r8, str._repos_rust_1.70.0_library_core_src_str_pattern.rs
mov rcx, r9
call fcn.004adac0
ud2
lea rax, str._repos_rust_1.70.0_library_core_src_str_pattern.rs
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.004a7740
ud2