Function at 0x1400056d0
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.14003cac0
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 0x140005a3e
mov rsi, qword [rsp + 0xb0]
mov r11, rbx
cmp rsi, rdx
je 0x140005bb7
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 0x140005b4b
mov r10, qword [rsp + 0x120]
add r10, r11
mov qword [rsp + 0xf8], r10
lea rsi, [r11 + rax]
cmp r15, 0xffffffffffffffff
je 0x140005920
mov r13, r11
jmp 0x140005857
xor r15d, r15d
mov r13, rsi
mov r9, qword [rsp + 0x40]
add r9, r13
cmp r9, rdx
jae 0x140005b4b
cmp r11, r13
jne 0x140005b4b
movzx r9d, byte [rcx + r9]
mov r10, qword [rsp + 0x68]
bt r10, r9
jae 0x140005840
cmp r8, r15
mov r9, r15
cmova r9, r8
mov r10, r9
nop dword [rax]
cmp r10, rax
jae 0x1400058c0
lea r12, [r11 + r10]
cmp r12, rdx
jae 0x14000636a
lea r13, [r10 + 1]
movzx r12d, byte [rbp + r10]
cmp r12b, byte [r14 + r10]
mov r10, r13
je 0x140005880
add r13, qword [rsp + 0x100]
xor r15d, r15d
jmp 0x140005846
mov r10, r8
nop word cs:[rax + rax]
cmp r15, r10
jae 0x140005910
dec r10
cmp r10, rax
jae 0x140005a2c
lea r9, [r10 + r11]
cmp r9, rdx
jae 0x140006358
movzx r12d, byte [rbp + r10]
cmp r12b, byte [rcx + r9]
je 0x1400058d0
mov r15, qword [rsp + 0x110]
mov r13, qword [rsp + 0xf8]
jmp 0x140005846
xor r15d, r15d
jmp 0x1400059f7
mov r10, r11
jmp 0x140005941
mov r10, qword [rsp + 0xf8]
nop dword [rax]
mov r9, qword [rsp + 0x40]
add r9, r10
cmp r9, rdx
jae 0x140005b4b
cmp r11, r10
jne 0x140005b4b
movzx r9d, byte [rcx + r9]
mov r10, qword [rsp + 0x68]
bt r10, r9
mov r10, rsi
jae 0x140005930
xor r9d, r9d
mov r15, r11
nop word cs:[rax + rax]
lea r10, [r8 + r9]
cmp r10, rax
jae 0x1400059a0
lea r10, [r8 + r15]
cmp r10, rdx
jae 0x140006367
movzx r12d, byte [rbx + r9]
lea r10, [r15 + 1]
inc r9
cmp r12b, byte [rdi + r15]
mov r15, r10
je 0x140005970
jmp 0x140005930
test byte [rsp + 0x2f], 1
je 0x140005a18
mov r9, qword [rsp + 0xf0]
mov r10, qword [rsp + 0x118]
mov r15, r8
nop word [rax + rax]
sub r15, 1
jb 0x1400059f0
cmp r9, rdx
jae 0x140006358
movzx r13d, byte [r10]
dec r10
lea r12, [r9 - 1]
cmp r13b, byte [rcx + r9]
mov r9, r12
je 0x1400059c0
jmp 0x140005925
mov r15, 0xffffffffffffffff
add qword [rsp + 0x100], rax
add r14, rax
add qword [rsp + 0xf0], rax
cmp rsi, rdx
jne 0x1400057fd
jmp 0x1400061dd
mov r15, 0xffffffffffffffff
test r8, r8
je 0x1400059f7
mov r10, qword [rsp + 0x108]
lea r8, [0x140105970]
mov rcx, r10
mov rdx, rax
call fcn.140049560
cmp byte [rsp + 0xa2], 0
mov r11, rbx
jne 0x140005bb7
movzx eax, byte [rsp + 0xa0]
test r9b, 1
je 0x140005ac0
test r8, r8
je 0x140005b91
cmp r8, rdx
jae 0x140005ba6
cmp byte [rcx + r8], 0xc0
jl 0x140006399
mov r11, rbx
test al, al
je 0x140005bb7
nop word cs:[rax + rax]
xor al, 1
jne 0x140005a90
jmp 0x140005bb4
movzx r10d, byte [rcx + r8]
test r10b, r10b
js 0x140005ae2
movzx r9d, r10b
mov r10d, eax
xor r10b, 1
test al, al
mov eax, r10d
je 0x140005b71
test r8, r8
je 0x140005aa0
cmp r8, rdx
jae 0x140006399
movzx r10d, byte [rcx + r8]
cmp r10b, 0xbf
jle 0x140006399
test r10b, r10b
jns 0x140005aaa
mov r9d, r10d
and r9b, 0x1f
movzx r9d, r9b
movzx esi, byte [rcx + r8 + 1]
and esi, 0x3f
cmp r10b, 0xe0
jb 0x140005b33
movzx r11d, byte [rcx + r8 + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r10b, 0xf0
jb 0x140005b3f
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 0x140005aae
shl r9d, 6
or r9d, esi
jmp 0x140005aae
shl r9d, 0xc
or r9d, r11d
jmp 0x140005aae
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 0x140006204
jmp 0x140005bc7
cmp r9d, 0x110000
cmove r8, rbx
mov r11, r8
mov rsi, rbx
sub rsi, r11
test sil, 1
jne 0x140006204
jmp 0x140005bc7
mov r11, rbx
test al, al
je 0x140005bb7
nop dword [rax + rax]
xor al, 1
jne 0x140005ba0
jmp 0x140005bb4
mov r11, rbx
test al, al
je 0x140005bb7
nop dword [rax]
xor al, 1
jne 0x140005bb0
mov r11, rbx
mov rsi, rbx
sub rsi, r11
test sil, 1
jne 0x140006204
mov dword [rsp + 0x48], 3
cmp rbx, r11
jne 0x140005bf8
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 0x140005c22
xor eax, eax
jmp 0x1400062ae
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 0x140005c7c
add al, 0xc9
jmp 0x140005c8a
lea rbp, [r12 + rbx]
test rbx, rbx
je 0x140005e68
js 0x1400063f2
movzx eax, byte [0x14011e1a1]
mov r15d, 1
mov edx, 1
mov rcx, rbx
call fcn.1400053e0
test rax, rax
je 0x1400063f5
mov rsi, rax
mov rcx, rax
mov rdx, r12
mov r8, rbx
call fcn.140044b10
test rbx, rbx
je 0x140005f0a
mov qword [rsp + 0x40], rsi
jmp 0x140005e83
lea ecx, [rax - 0x61]
cmp cl, 6
jae 0x140005e57
add al, 0xa9
mov ebp, eax
cmp rsi, 1
je 0x140006383
movzx eax, byte [r15 + 1]
lea ecx, [rax - 0x41]
cmp cl, 6
jae 0x140005ca7
add al, 0xc9
jmp 0x140005cb5
lea ecx, [rax - 0x61]
cmp cl, 6
jae 0x140005e93
add al, 0xa9
mov r14d, eax
mov rbx, r15
movzx eax, byte [0x14011e1a1]
mov ecx, 8
mov edx, 1
call fcn.1400053e0
test rax, rax
je 0x1400063d6
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.140006420
test al, 1
jne 0x140005d80
mov esi, dword [rsp + 0x48]
cmp esi, 3
mov rdi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
jne 0x140005ecf
mov r12, r15
shr r12, 0x20
mov r14d, 8
mov ebx, 1
jmp 0x140005be2
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 0x140005de6
mov r8d, 1
mov rcx, r14
mov rdx, rbx
call fcn.140045660
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.140006420
test al, 1
je 0x140005e1e
cmp rbx, qword [rsp + 0x70]
jne 0x140005dc0
mov esi, edx
mov rax, qword [rsp + 0xa8]
cmp dword [rax], 3
jne 0x140005da3
cmp qword [rsp + 0x90], 0
je 0x140005da3
cmp qword [rsp + 0x98], 0
jne 0x140005da3
lea rcx, str._rustc_129f3b9964af4d4a709d1383930ade12dfe7c081librarycore_src_sliceiter.rs
call fcn.140049960
mov r14, qword [rsp + 0x70]
mov r15, qword [rsp + 0x78]
mov esi, dword [rsp + 0x48]
cmp esi, 3
jne 0x140005ee1
mov r12, r15
shr r12, 0x20
movabs rax, 0x8000000000000000
cmp r14, rax
jne 0x140005be2
mov esi, r15d
jmp 0x140006209
lea ebp, [rax - 0x30]
cmp bpl, 0xa
jb 0x140005c8c
xor ebx, ebx
jmp 0x140005ea6
mov esi, 1
mov r15d, 1
je 0x140005f2a
mov eax, 1
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rdi
mov r15, r12
mov rsi, rbp
jmp 0x140005f9d
lea r14d, [rax - 0x30]
mov ebx, 1
cmp r14b, 0xa
jb 0x140005cb8
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 0x140006209
mov r12d, dword [rsp + 0x4c]
mov r14d, 8
mov rbx, qword [rsp + 0x50]
jmp 0x140005ef4
mov r12d, dword [rsp + 0x4c]
mov rbx, qword [rsp + 0x50]
test r14, r14
je 0x140006209
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.1400053f0
jmp 0x140006209
movzx eax, byte [0x14011e1a1]
mov edx, 1
mov rcx, rbx
call fcn.1400053e0
test rax, rax
je 0x140006400
mov r15, rax
mov rcx, r15
mov rdx, rsi
mov r8, rbx
call fcn.140044b10
test r14, r14
je 0x140005f4e
mov r8d, 1
mov rcx, r12
mov rdx, r14
call fcn.1400053f0
cmp r12, rbp
jne 0x140005f8c
mov r12d, 1
test rbx, rbx
je 0x140005f80
mov r8d, 1
mov rcx, rsi
mov rdx, rbx
call fcn.1400053f0
mov r8d, 1
mov rcx, r15
mov rdx, rbx
call fcn.1400053f0
xor r14d, r14d
xor ebp, ebp
xor eax, eax
jmp 0x1400062ae
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 [0x14011e1a1]
mov edx, 1
mov rcx, r13
call fcn.1400053e0
test rax, rax
je 0x1400063e5
mov byte [rax], dil
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 1
cmp r12, rbp
jne 0x1400060a1
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 0x1400061a3
lea rdx, [rdi - 1]
movzx ebp, byte [rcx]
cmp rdx, qword [rsp + 0x88]
je 0x14000606f
mov byte [rax + rdi - 1], bpl
mov qword [rsp + 0x98], rdi
inc rdi
dec r13
cmp rdi, 0x21
jne 0x140006030
jmp 0x140006306
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.140045660
mov r9d, 1
mov rax, qword [rsp + 0x90]
jmp 0x140006051
lea r13, [r15 + 1]
mov edi, 0x1e
mov ebp, 1
jmp 0x1400060fd
mov r14, rbx
mov r15, r13
movzx r12d, byte [r13]
cmp rbp, qword [rsp + 0x88]
je 0x140006170
inc r13
mov rax, qword [rsp + 0x90]
mov byte [rax + rbp], r12b
inc rbp
mov qword [rsp + 0x98], rbp
add rdi, 0xffffffffffffffff
jae 0x140006306
cmp r13, rsi
jne 0x1400060c6
test rbx, rbx
je 0x14000612f
movzx eax, byte [0x14011e1a1]
mov r12d, 1
mov edx, 1
mov rcx, rbx
call fcn.1400053e0
test rax, rax
je 0x140006410
mov r13, rax
jmp 0x140006135
mov r13d, 1
mov rcx, r13
mov rdx, qword [rsp + 0x40]
mov r8, rbx
call fcn.140044b10
lea rsi, [rbx + r13]
test r14, r14
je 0x1400060c0
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.1400053f0
mov rbp, qword [rsp + 0x98]
jmp 0x1400060c0
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.140045660
jmp 0x1400060d9
test rbx, rbx
je 0x1400062d4
js 0x14000640d
movzx eax, byte [0x14011e1a1]
mov r12d, 1
mov edx, 1
mov rcx, rbx
call fcn.1400053e0
test rax, rax
je 0x140006410
mov r13, rax
jmp 0x1400062da
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 0x140005bc7
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, [0x140105850]
mov qword [rsp + 0xb0], rax
lea rcx, [rsp + 0x48]
lea rdx, [rsp + 0x88]
call fcn.1400066b0
test al, al
jne 0x1400063ad
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 fcn.140044b10
test r14, r14
je 0x140006300
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.1400053f0
mov r14, rbx
mov r15, r13
test rbx, rbx
je 0x14000631e
mov r8d, 1
mov rcx, qword [rsp + 0x40]
mov rdx, rbx
call fcn.1400053f0
test r14, r14
mov rdi, qword [rsp + 0x30]
je 0x140006339
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.1400053f0
mov r14, qword [rsp + 0x88]
mov r12, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x98]
xor eax, eax
jmp 0x1400062ae
lea r8, [0x140105988]
mov rcx, r9
call fcn.140049560
mov r9, r8
add r9, r11
cmp rdx, r9
cmova r9, rdx
lea r8, [0x1401059a0]
mov rcx, r9
call fcn.140049560
lea r8, [0x140105ad8]
mov ecx, 1
mov edx, 1
call fcn.140049560
lea rax, [0x1401059e0]
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.140049940
lea rax, [0x140105908]
mov qword [rsp + 0x20], rax
lea rcx, [0x140105880]
lea r9, [0x1401059b8]
lea r8, [rsp + 0x2e]
mov edx, 0x37
call fcn.1400497c0
mov ecx, 1
mov edx, 8
call fcn.140049310
mov ecx, 1
mov rdx, r13
call fcn.140049310
xor r15d, r15d
mov rcx, r15
mov rdx, rbx
call fcn.140049310
mov ecx, 1
mov rdx, rbx
call fcn.140049310
xor r12d, r12d
mov rcx, r12
mov rdx, rbx
call fcn.140049310
int3