Function at 0x1400056c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
mov rbp, r9
mov rbx, r8
mov r15, rdx
mov rdi, rcx
mov qword [rsp + 0x20], 2
lea r9, str.0xC:UsersHassp.cargo_registry_srcindex.crates.io_6f17d22bba15001fhex_0.4.3_srclib.rs
lea rcx, [rsp + 0x88]
call fcn.14003cab0
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0x90]
cmp r8, rdx
sete r9b
cmp qword [rsp + 0x88], 0
mov rcx, qword [rsp + 0xd0]
je 0x140005a2e
mov rsi, qword [rsp + 0xb0]
mov r11, rbx
cmp rsi, rdx
je 0x140005ba7
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0xe8]
lea r9, [rax - 1]
mov qword [rsp + 0x40], r9
mov r9, qword [rsp + 0xa8]
mov qword [rsp + 0x68], r9
mov rbp, qword [rsp + 0xe0]
mov r15, qword [rsp + 0xc0]
mov r10, qword [rsp + 0xa0]
mov r11, rax
mov r9, r10
mov qword [rsp + 0x120], r10
sub r11, r10
mov qword [rsp + 0x110], r11
lea r9, [r8 - 1]
mov qword [rsp + 0x108], r9
cmp r9, rax
setb byte [rsp + 0x2f]
mov r9, rsi
sub r9, r8
mov qword [rsp + 0x100], r9
lea r14, [rcx + rsi]
lea rdi, [rcx + r8]
lea rbx, [r8 + rbp]
lea r9, [r8 + rbp]
dec r9
mov qword [rsp + 0x118], r9
lea r9, [r8 + rsi]
dec r9
mov qword [rsp + 0xf0], r9
mov r11, rsi
mov r9, qword [rsp + 0x40]
add r9, rsi
cmp r9, rdx
jae 0x140005b3b
mov r10, qword [rsp + 0x120]
add r10, r11
mov qword [rsp + 0xf8], r10
lea rsi, [r11 + rax]
cmp r15, 0xffffffffffffffff
je 0x140005910
mov r13, r11
jmp 0x140005847
xor r15d, r15d
mov r13, rsi
mov r9, qword [rsp + 0x40]
add r9, r13
cmp r9, rdx
jae 0x140005b3b
cmp r11, r13
jne 0x140005b3b
movzx r9d, byte [rcx + r9]
mov r10, qword [rsp + 0x68]
bt r10, r9
jae 0x140005830
cmp r8, r15
mov r9, r15
cmova r9, r8
mov r10, r9
nop dword [rax]
cmp r10, rax
jae 0x1400058b0
lea r12, [r11 + r10]
cmp r12, rdx
jae 0x14000635a
lea r13, [r10 + 1]
movzx r12d, byte [rbp + r10]
cmp r12b, byte [r14 + r10]
mov r10, r13
je 0x140005870
add r13, qword [rsp + 0x100]
xor r15d, r15d
jmp 0x140005836
mov r10, r8
nop word cs:[rax + rax]
cmp r15, r10
jae 0x140005900
dec r10
cmp r10, rax
jae 0x140005a1c
lea r9, [r10 + r11]
cmp r9, rdx
jae 0x140006348
movzx r12d, byte [rbp + r10]
cmp r12b, byte [rcx + r9]
je 0x1400058c0
mov r15, qword [rsp + 0x110]
mov r13, qword [rsp + 0xf8]
jmp 0x140005836
xor r15d, r15d
jmp 0x1400059e7
mov r10, r11
jmp 0x140005931
mov r10, qword [rsp + 0xf8]
nop dword [rax]
mov r9, qword [rsp + 0x40]
add r9, r10
cmp r9, rdx
jae 0x140005b3b
cmp r11, r10
jne 0x140005b3b
movzx r9d, byte [rcx + r9]
mov r10, qword [rsp + 0x68]
bt r10, r9
mov r10, rsi
jae 0x140005920
xor r9d, r9d
mov r15, r11
nop word cs:[rax + rax]
lea r10, [r8 + r9]
cmp r10, rax
jae 0x140005990
lea r10, [r8 + r15]
cmp r10, rdx
jae 0x140006357
movzx r12d, byte [rbx + r9]
lea r10, [r15 + 1]
inc r9
cmp r12b, byte [rdi + r15]
mov r15, r10
je 0x140005960
jmp 0x140005920
test byte [rsp + 0x2f], 1
je 0x140005a08
mov r9, qword [rsp + 0xf0]
mov r10, qword [rsp + 0x118]
mov r15, r8
nop word [rax + rax]
sub r15, 1
jb 0x1400059e0
cmp r9, rdx
jae 0x140006348
movzx r13d, byte [r10]
dec r10
lea r12, [r9 - 1]
cmp r13b, byte [rcx + r9]
mov r9, r12
je 0x1400059b0
jmp 0x140005915
mov r15, 0xffffffffffffffff
add qword [rsp + 0x100], rax
add r14, rax
add qword [rsp + 0xf0], rax
cmp rsi, rdx
jne 0x1400057ed
jmp 0x1400061cd
mov r15, 0xffffffffffffffff
test r8, r8
je 0x1400059e7
mov r10, qword [rsp + 0x108]
lea r8, [0x140101928]
mov rcx, r10
mov rdx, rax
call fcn.140044fd0
cmp byte [rsp + 0xa2], 0
mov r11, rbx
jne 0x140005ba7
movzx eax, byte [rsp + 0xa0]
test r9b, 1
je 0x140005ab0
test r8, r8
je 0x140005b81
cmp r8, rdx
jae 0x140005b96
cmp byte [rcx + r8], 0xc0
jl 0x140006389
mov r11, rbx
test al, al
je 0x140005ba7
nop word cs:[rax + rax]
xor al, 1
jne 0x140005a80
jmp 0x140005ba4
movzx r10d, byte [rcx + r8]
test r10b, r10b
js 0x140005ad2
movzx r9d, r10b
mov r10d, eax
xor r10b, 1
test al, al
mov eax, r10d
je 0x140005b61
test r8, r8
je 0x140005a90
cmp r8, rdx
jae 0x140006389
movzx r10d, byte [rcx + r8]
cmp r10b, 0xbf
jle 0x140006389
test r10b, r10b
jns 0x140005a9a
mov r9d, r10d
and r9b, 0x1f
movzx r9d, r9b
movzx esi, byte [rcx + r8 + 1]
and esi, 0x3f
cmp r10b, 0xe0
jb 0x140005b23
movzx r11d, byte [rcx + r8 + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r10b, 0xf0
jb 0x140005b2f
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 0x140005a9e
shl r9d, 6
or r9d, esi
jmp 0x140005a9e
shl r9d, 0xc
or r9d, r11d
jmp 0x140005a9e
mov rdi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov r15, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
mov rsi, rbx
sub rsi, r11
test sil, 1
jne 0x1400061f4
jmp 0x140005bb7
cmp r9d, 0x110000
cmove r8, rbx
mov r11, r8
mov rsi, rbx
sub rsi, r11
test sil, 1
jne 0x1400061f4
jmp 0x140005bb7
mov r11, rbx
test al, al
je 0x140005ba7
nop dword [rax + rax]
xor al, 1
jne 0x140005b90
jmp 0x140005ba4
mov r11, rbx
test al, al
je 0x140005ba7
nop dword [rax]
xor al, 1
jne 0x140005ba0
mov r11, rbx
mov rsi, rbx
sub rsi, r11
test sil, 1
jne 0x1400061f4
mov dword [rsp + 0x48], 3
cmp rbx, r11
jne 0x140005be8
mov r15d, 1
xor r12d, r12d
xor ebx, ebx
xor r14d, r14d
mov eax, r15d
shl r12, 0x20
or r12, rax
cmp rbx, rbp
jne 0x140005c12
xor eax, eax
jmp 0x14000629e
mov qword [rsp + 0x30], rdi
add r15, r11
cmp rsi, 2
mov edi, 2
cmovb rdi, rsi
movzx eax, byte [r15]
lea ecx, [rax - 0x41]
cmp cl, 6
mov qword [rsp + 0x38], rbp
jae 0x140005c6c
add al, 0xc9
jmp 0x140005c7a
lea rbp, [r12 + rbx]
test rbx, rbx
je 0x140005e58
js 0x1400063e2
movzx eax, byte [0x140118141]
mov r15d, 1
mov edx, 1
mov rcx, rbx
call fcn.1400053d0
test rax, rax
je 0x1400063e5
mov rsi, rax
mov rcx, rax
mov rdx, r12
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
test rbx, rbx
je 0x140005efa
mov qword [rsp + 0x40], rsi
jmp 0x140005e73
lea ecx, [rax - 0x61]
cmp cl, 6
jae 0x140005e47
add al, 0xa9
mov ebp, eax
cmp rsi, 1
je 0x140006373
movzx eax, byte [r15 + 1]
lea ecx, [rax - 0x41]
cmp cl, 6
jae 0x140005c97
add al, 0xc9
jmp 0x140005ca5
lea ecx, [rax - 0x61]
cmp cl, 6
jae 0x140005e83
add al, 0xa9
mov r14d, eax
mov rbx, r15
movzx eax, byte [0x140118141]
mov ecx, 8
mov edx, 1
call fcn.1400053d0
test rax, rax
je 0x1400063c6
mov r15, rax
add rbx, rdi
sub rsi, rdi
shl bpl, 4
or r14b, bpl
mov byte [rax], r14b
mov qword [rsp + 0x70], 8
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 1
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], 2
mov qword [rsp + 0xa0], 1
lea r8, [rsp + 0x48]
mov qword [rsp + 0xa8], r8
lea rcx, [rsp + 0x88]
lea rdx, [rsp + 0x2e]
call fcn.140006410
test al, 1
jne 0x140005d70
mov esi, dword [rsp + 0x48]
cmp esi, 3
mov rdi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
jne 0x140005ebf
mov r12, r15
shr r12, 0x20
mov r14d, 8
mov ebx, 1
jmp 0x140005bd2
mov ebx, 1
lea r14, [rsp + 0x70]
lea r12, [rsp + 0x88]
lea r13, [rsp + 0x2e]
mov rdi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
jmp 0x140005dd6
mov r8d, 1
mov rcx, r14
mov rdx, rbx
call fcn.1400410d0
mov r15, qword [rsp + 0x78]
mov edx, esi
nop dword [rax + rax]
mov byte [r15 + rbx], dl
inc rbx
mov qword [rsp + 0x80], rbx
mov r8, qword [rsp + 0xa8]
mov rcx, r12
mov rdx, r13
call fcn.140006410
test al, 1
je 0x140005e0e
cmp rbx, qword [rsp + 0x70]
jne 0x140005db0
mov esi, edx
mov rax, qword [rsp + 0xa8]
cmp dword [rax], 3
jne 0x140005d93
cmp qword [rsp + 0x90], 0
je 0x140005d93
cmp qword [rsp + 0x98], 0
jne 0x140005d93
lea rcx, str._rustc_129f3b9964af4d4a709d1383930ade12dfe7c081librarycore_src_sliceiter.rs
call fcn.1400453d0
mov r14, qword [rsp + 0x70]
mov r15, qword [rsp + 0x78]
mov esi, dword [rsp + 0x48]
cmp esi, 3
jne 0x140005ed1
mov r12, r15
shr r12, 0x20
movabs rax, 0x8000000000000000
cmp r14, rax
jne 0x140005bd2
mov esi, r15d
jmp 0x1400061f9
lea ebp, [rax - 0x30]
cmp bpl, 0xa
jb 0x140005c7c
xor ebx, ebx
jmp 0x140005e96
mov esi, 1
mov r15d, 1
je 0x140005f1a
mov eax, 1
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rdi
mov r15, r12
mov rsi, rbp
jmp 0x140005f8d
lea r14d, [rax - 0x30]
mov ebx, 1
cmp r14b, 0xa
jb 0x140005ca8
mov dword [rsp + 0x48], 0
mov byte [rsp + 0x4c], al
mov byte [rsp + 0x4f], 0
mov word [rsp + 0x4d], 0
xor esi, esi
mov r12d, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x30]
jmp 0x1400061f9
mov r12d, dword [rsp + 0x4c]
mov r14d, 8
mov rbx, qword [rsp + 0x50]
jmp 0x140005ee4
mov r12d, dword [rsp + 0x4c]
mov rbx, qword [rsp + 0x50]
test r14, r14
je 0x1400061f9
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.1400053e0
jmp 0x1400061f9
movzx eax, byte [0x140118141]
mov edx, 1
mov rcx, rbx
call fcn.1400053d0
test rax, rax
je 0x1400063f0
mov r15, rax
mov rcx, r15
mov rdx, rsi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
test r14, r14
je 0x140005f3e
mov r8d, 1
mov rcx, r12
mov rdx, r14
call fcn.1400053e0
cmp r12, rbp
jne 0x140005f7c
mov r12d, 1
test rbx, rbx
je 0x140005f70
mov r8d, 1
mov rcx, rsi
mov rdx, rbx
call fcn.1400053e0
mov r8d, 1
mov rcx, r15
mov rdx, rbx
call fcn.1400053e0
xor r14d, r14d
xor ebp, ebp
xor eax, eax
jmp 0x14000629e
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x30], rdi
lea rsi, [r15 + rbx]
mov r14, rbx
movzx edi, byte [r15]
xor ecx, ecx
cmp r12, rbp
setne cl
neg rcx
cmp rcx, 0x1f
mov eax, 0x1f
mov qword [rsp + 0x68], rcx
cmovb rax, rcx
cmp rax, 8
mov r13d, 7
cmovae r13, rax
inc r13
movzx eax, byte [0x140118141]
mov edx, 1
mov rcx, r13
call fcn.1400053d0
test rax, rax
je 0x1400063d5
mov byte [rax], dil
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 1
cmp r12, rbp
jne 0x140006091
mov edi, 2
mov r13d, 0x1e
mov r9d, 1
lea r12, [rsp + 0x88]
nop dword [rax]
lea rcx, [rdi + r15]
dec rcx
cmp rcx, rsi
je 0x140006193
lea rdx, [rdi - 1]
movzx ebp, byte [rcx]
cmp rdx, qword [rsp + 0x88]
je 0x14000605f
mov byte [rax + rdi - 1], bpl
mov qword [rsp + 0x98], rdi
inc rdi
dec r13
cmp rdi, 0x21
jne 0x140006020
jmp 0x1400062f6
mov rax, qword [rsp + 0x68]
cmp rax, r13
mov r8, r13
cmovb r8, rax
inc r8
cmp rdi, 0x20
cmove r8, r9
mov rcx, r12
call fcn.1400410d0
mov r9d, 1
mov rax, qword [rsp + 0x90]
jmp 0x140006041
lea r13, [r15 + 1]
mov edi, 0x1e
mov ebp, 1
jmp 0x1400060ed
mov r14, rbx
mov r15, r13
movzx r12d, byte [r13]
cmp rbp, qword [rsp + 0x88]
je 0x140006160
inc r13
mov rax, qword [rsp + 0x90]
mov byte [rax + rbp], r12b
inc rbp
mov qword [rsp + 0x98], rbp
add rdi, 0xffffffffffffffff
jae 0x1400062f6
cmp r13, rsi
jne 0x1400060b6
test rbx, rbx
je 0x14000611f
movzx eax, byte [0x140118141]
mov r12d, 1
mov edx, 1
mov rcx, rbx
call fcn.1400053d0
test rax, rax
je 0x140006400
mov r13, rax
jmp 0x140006125
mov r13d, 1
mov rcx, r13
mov rdx, qword [rsp + 0x40]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rsi, [rbx + r13]
test r14, r14
je 0x1400060b0
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.1400053e0
mov rbp, qword [rsp + 0x98]
jmp 0x1400060b0
mov rax, qword [rsp + 0x68]
cmp rax, rdi
mov r8, rdi
cmovb r8, rax
inc r8
test rdi, rdi
mov eax, 1
cmove r8, rax
lea rcx, [rsp + 0x88]
mov rdx, rbp
call fcn.1400410d0
jmp 0x1400060c9
test rbx, rbx
je 0x1400062c4
js 0x1400063fd
movzx eax, byte [0x140118141]
mov r12d, 1
mov edx, 1
mov rcx, rbx
call fcn.1400053d0
test rax, rax
je 0x140006400
mov r13, rax
jmp 0x1400062ca
mov rbx, qword [rsp + 0x58]
mov r11, rbx
mov rdi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov r15, qword [rsp + 0x60]
mov rsi, rbx
sub rsi, r11
test sil, 1
je 0x140005bb7
mov esi, 1
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x4c], r12d
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
mov qword [rsp + 0xb8], 0x20
mov byte [rsp + 0xc0], 3
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x98], 0
lea rax, [rsp + 0x70]
mov qword [rsp + 0xa8], rax
lea rax, [0x140101808]
mov qword [rsp + 0xb0], rax
lea rcx, [rsp + 0x48]
lea rdx, [rsp + 0x88]
call fcn.1400066a0
test al, al
jne 0x14000639d
mov r14, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
mov eax, 1
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], rbp
mov qword [rdi], rax
mov rax, rdi
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r13d, 1
mov rcx, r13
mov rdx, qword [rsp + 0x40]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
test r14, r14
je 0x1400062f0
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.1400053e0
mov r14, rbx
mov r15, r13
test rbx, rbx
je 0x14000630e
mov r8d, 1
mov rcx, qword [rsp + 0x40]
mov rdx, rbx
call fcn.1400053e0
test r14, r14
mov rdi, qword [rsp + 0x30]
je 0x140006329
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.1400053e0
mov r14, qword [rsp + 0x88]
mov r12, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x98]
xor eax, eax
jmp 0x14000629e
lea r8, [0x140101940]
mov rcx, r9
call fcn.140044fd0
mov r9, r8
add r9, r11
cmp rdx, r9
cmova r9, rdx
lea r8, [0x140101958]
mov rcx, r9
call fcn.140044fd0
lea r8, [0x140101a90]
mov ecx, 1
mov edx, 1
call fcn.140044fd0
lea rax, [0x140101998]
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.1400453b0
lea rax, [0x1401018c0]
mov qword [rsp + 0x20], rax
lea rcx, [0x140101838]
lea r9, [0x140101970]
lea r8, [rsp + 0x2e]
mov edx, 0x37
call fcn.140045230
mov ecx, 1
mov edx, 8
call fcn.140044d80
mov ecx, 1
mov rdx, r13
call fcn.140044d80
xor r15d, r15d
mov rcx, r15
mov rdx, rbx
call fcn.140044d80
mov ecx, 1
mov rdx, rbx
call fcn.140044d80
xor r12d, r12d
mov rcx, r12
mov rdx, rbx
call fcn.140044d80
int3