Function at 0x140057ef0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, qword [rcx + 8]
test rsi, rsi
je 0x140058209
mov r9, rdx
mov r10, rcx
mov rax, qword [rcx + 0x20]
movabs rdi, 0x646f72616e646f83
xor rdi, rax
movabs rbx, 0x7465646279746573
xor rbx, rax
mov edx, r8d
and edx, 7
mov rax, r8
and rax, 0xfffffffffffffff8
je 0x140057fbf
movabs r14, 0x736f6d6570736575
movabs r11, 0x6c7967656e657261
xor r15d, r15d
nop word [rax + rax]
add r14, rdi
rol rdi, 0xd
mov rcx, qword [r9 + r15]
xor rdi, r14
rol r14, 0x20
xor rbx, rcx
add r11, rbx
rol rbx, 0x10
xor rbx, r11
add r14, rbx
rol rbx, 0x15
add r11, rdi
rol rdi, 0x11
xor rdi, r11
rol r11, 0x20
xor rbx, r14
xor r14, rcx
add r15, 8
cmp r15, rax
jb 0x140057f60
cmp edx, 4
jb 0x140057fdb
mov r12d, dword [r9 + r15]
mov eax, 4
mov rcx, rax
or rcx, 1
cmp rcx, rdx
jb 0x140057fec
jmp 0x140058006
xor r15d, r15d
movabs r14, 0x736f6d6570736575
movabs r11, 0x6c7967656e657261
cmp edx, 4
jae 0x140057fa8
xor r12d, r12d
xor eax, eax
mov rcx, rax
or rcx, 1
cmp rcx, rdx
jae 0x140058006
lea rcx, [r9 + rax]
movzx r13d, word [r15 + rcx]
lea ecx, [rax*8]
shl r13, cl
or r12, r13
or rax, 2
cmp rax, rdx
jae 0x14005802e
add r15, rax
movzx edx, byte [r9 + r15]
shl eax, 3
mov ecx, eax
shl rdx, cl
or r12, rdx
test esi, esi
jne 0x140058032
lea rcx, str.C:Users_sushi.cargo_registry_srcindex.crates.io_6f17d22bba15001fphf_shared_0.10.0_src_lib.rs
call fcn.1402519e0
test esi, esi
je 0x140058022
mov rax, r8
shl rax, 0x38
add r14, rdi
rol rdi, 0xd
or r12, rax
xor rdi, r14
rol r14, 0x20
xor rbx, r12
add r11, rbx
rol rbx, 0x10
xor rbx, r11
add r14, rbx
rol rbx, 0x15
add r11, rdi
rol rdi, 0x11
xor rbx, r14
xor rdi, r11
rol r11, 0x20
xor r14, r12
add r14, rdi
rol rdi, 0xd
xor rdi, r14
rol r14, 0x20
xor r11, 0xee
add r11, rbx
rol rbx, 0x10
xor rbx, r11
add r14, rbx
rol rbx, 0x15
add r11, rdi
rol rdi, 0x11
xor rdi, r11
rol r11, 0x20
xor rbx, r14
add r14, rdi
rol rdi, 0xd
xor rdi, r14
rol r14, 0x20
add r11, rbx
rol rbx, 0x10
xor rbx, r11
add r14, rbx
rol rbx, 0x15
add r11, rdi
rol rdi, 0x11
xor rdi, r11
rol r11, 0x20
xor rbx, r14
add r14, rdi
rol rdi, 0xd
xor rdi, r14
add r11, rbx
rol rbx, 0x10
xor rbx, r11
mov r15, rbx
rol r15, 0x15
add r11, rdi
rol rdi, 0x11
xor rdi, r11
rol r11, 0x20
mov rcx, r11
xor rcx, rdi
xor rcx, r15
mov rax, rcx
shr rax, 0x20
xor edx, edx
div esi
cmp rsi, rdx
jbe 0x14005821b
mov rsi, qword [r10 + 0x18]
test esi, esi
je 0x14005822d
rol r14, 0x20
add rbx, r14
xor r15, rbx
xor rdi, 0xdd
add rbx, rdi
rol rdi, 0xd
xor rdi, rbx
rol rbx, 0x20
add r11, r15
rol r15, 0x10
xor r15, r11
add rbx, r15
rol r15, 0x15
add r11, rdi
rol rdi, 0x11
xor rdi, r11
rol r11, 0x20
xor r15, rbx
add rbx, rdi
rol rdi, 0xd
xor rdi, rbx
rol rbx, 0x20
add r11, r15
rol r15, 0x10
xor r15, r11
add rbx, r15
rol r15, 0x15
add r11, rdi
rol rdi, 0x11
xor rdi, r11
rol r11, 0x20
xor r15, rbx
add rbx, rdi
rol rdi, 0xd
add r11, r15
rol r15, 0x10
xor r15, r11
rol r15, 0x15
xor rdi, rbx
add r11, rdi
rol rdi, 0x11
mov rax, qword [r10]
mov rbx, r11
shr rbx, 0x20
xor ebx, edi
xor ebx, r15d
xor r11d, ebx
imul ecx, dword [rax + rdx*8]
add r11d, dword [rax + rdx*8 + 4]
add r11d, ecx
mov eax, r11d
xor edx, edx
div esi
cmp rsi, rdx
jbe 0x140058239
mov rax, qword [r10 + 0x10]
shl rdx, 4
cmp qword [rax + rdx + 8], r8
jne 0x140058209
add rax, rdx
mov rcx, qword [rax]
mov rdx, r9
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
sete al
jmp 0x14005820b
xor eax, eax
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:Users_sushi.cargo_registry_srcindex.crates.io_6f17d22bba15001fphf_shared_0.10.0_src_lib.rs
mov rcx, rdx
mov rdx, rsi
call fcn.1402513d0
lea rcx, str.C:Users_sushi.cargo_registry_srcindex.crates.io_6f17d22bba15001fphf_shared_0.10.0_src_lib.rs
call fcn.1402519e0
lea r8, str.C:Users_sushi.cargo_registry_srcindex.crates.io_6f17d22bba15001fphf_0.10.1_srcmap.rs
mov rcx, rdx
mov rdx, rsi
call fcn.1402513d0
int3