Function at 0x140003870
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x1538
call fcn.1400214a0
sub rsp, rax
lea rbp, [rsp + 0x80]
and rsp, 0xffffffffffffffc0
mov qword [rsp + 0x50], r9
mov r14d, dword [rcx + 0x50]
test r14, r14
je 0x140004278
mov rbx, rdx
lea rax, [r14*8]
mov r12d, dword [rcx + 0x48]
cmp rax, r12
cmova r12, rax
lea r9, [r14*4]
mov rax, r12
or rax, r9
movabs rdx, 0x700000000
test rax, rdx
je 0x1400038e7
mov rax, r12
xor edx, edx
div r9
mov r15, rax
jmp 0x1400038f2
mov eax, r12d
xor edx, edx
div r9d
mov r15d, eax
sub r12, rdx
xor eax, eax
cmp r12, r8
cmovbe rax, rbx
mov qword [rsp + 0xb0], rax
mov al, 6
mov edi, 6
cmovbe rdi, r12
jbe 0x140003927
lea rsp, [rbp + 0x14b8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [rcx + 0x4c]
mov qword [rsp + 0x80], rax
lea r11, [r15*4]
mov rax, r12
or rax, r11
movabs rdx, 0x7fffffff00000000
test rax, rdx
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0xb8], r14
je 0x140003979
mov rax, r12
xor edx, edx
div r11
sub r12, rdx
cmp r12, r11
mov qword [rsp + 0x60], r11
jb 0x140003992
jmp 0x140003f9d
mov eax, r12d
xor edx, edx
div r11d
sub r12, rdx
cmp r12, r11
mov qword [rsp + 0x60], r11
jae 0x140003f9d
mov al, 0x12
cmp dword [rsp + 0x80], 0
je 0x140003913
mov rcx, qword [rsp + 0x90]
movzx eax, byte [rcx + 0x6c]
mov byte [rsp + 0x4d], al
movzx eax, al
mov qword [rsp + 0xa0], rax
lea rax, [r15 + r15*2]
mov qword [rsp + 0xf8], rax
mov rax, r15
not rax
add rax, r11
mov qword [rsp + 0xf0], rax
mov eax, dword [rcx + 0x68]
mov dword [rsp + 0x9c], eax
lea rax, [r11 - 1]
mov qword [rsp + 0xc8], rax
xor edx, edx
mov rsi, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xb0]
jmp 0x140003a29
mov rax, qword [rsp + 0xc0]
mov rdx, rax
cmp rax, qword [rsp + 0x80]
je 0x1400041ee
cmp dword [rsp + 0x9c], 0x10
sete al
lea rcx, [rdx + 1]
mov qword [rsp + 0xc0], rcx
test rdx, rdx
sete cl
or cl, al
mov byte [rsp + 0x4f], cl
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], rdx
jmp 0x140003a78
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x68], rcx
cmp rcx, 4
mov rdx, qword [rsp + 0x70]
je 0x140003a10
cmp byte [rsp + 0x4d], 1
je 0x140003aa0
cmp dword [rsp + 0xa0], 2
jne 0x140003a8e
test rdx, rdx
je 0x140003aa5
xor r14d, r14d
jmp 0x140003ab0
mov r14b, 1
jmp 0x140003ab0
cmp qword [rsp + 0x68], 2
setb r14b
nop
mov eax, r14d
xor al, 1
xor r9d, r9d
mov r8, qword [rsp + 0x68]
mov rcx, r8
or rcx, rdx
sete r9b
setne r10b
mov rcx, 0xffffffffffffffff
cmovne rcx, qword [rsp + 0xc8]
or r10b, al
mov byte [rsp + 0x4e], r10b
add r9d, r9d
mov qword [rsp + 0xe0], r9
mov r9, r8
imul r9, r15
mov rax, r8
neg rax
mov r10d, 0
sbb r10, r10
lea rax, [r8 + 1]
or r10, rcx
mov qword [rsp + 0xd8], r10
mov qword [rsp + 0xa8], r9
lea rcx, [r9 - 1]
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xd0], rax
mov rcx, rax
imul rcx, r15
cmp r8, 3
mov eax, 0
cmove rcx, rax
test rdx, rdx
cmove rcx, rdx
mov qword [rsp + 0x90], rcx
xor r10d, r10d
mov dword [rsp + 0x78], r14d
jmp 0x140003b71
inc r10
cmp r10, rsi
mov r14d, dword [rsp + 0x78]
je 0x140003a60
mov qword [rsp + 0x50], r10
mov r8d, 0x400
lea rcx, [rsp + 0x100]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov r8d, 0x400
lea rcx, [rsp + 0x900]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov r8d, 0x400
lea rcx, [rsp + 0x500]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov r10, qword [rsp + 0x50]
test r14b, r14b
je 0x140003c09
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x500], rax
mov qword [rsp + 0x508], r10
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x510], rax
mov qword [rsp + 0x518], rdi
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x520], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x528], rax
cmp byte [rsp + 0x4e], 0
je 0x140003c40
mov qword [rsp + 0x88], 0
mov r14, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x60]
cmp r14, r15
jae 0x140003b60
jmp 0x140003cbc
mov qword [rsp + 0x530], 1
lea r12, [rsp + 0x900]
mov rcx, r12
lea r14, [rsp + 0x100]
mov rdx, r14
lea r8, [rsp + 0x500]
call fcn.140004290
lea r13, [rsp + 0x1100]
mov rcx, r13
mov rdx, r14
mov r8, r12
call fcn.140004290
mov r8d, 0x400
mov rcx, r12
mov rdx, r13
call sub.VCRUNTIME140.dll_memcpy
mov r10, qword [rsp + 0x50]
mov r14d, 2
mov eax, 1
mov qword [rsp + 0x88], rax
mov r9, qword [rsp + 0x60]
cmp r14, r15
jae 0x140003b60
mov rax, r10
imul rax, r9
add rax, qword [rsp + 0xa8]
add rax, r14
mov rcx, qword [rsp + 0xd8]
lea r12, [rax + rcx]
jmp 0x140003d23
cmp r13, rdi
jae 0x14000422b
mov rcx, r13
shl rcx, 0xa
add rcx, rbx
mov r8d, 0x400
lea rdx, [rsp + 0xd00]
call sub.VCRUNTIME140.dll_memcpy
inc r14
lea rax, [r13 + 1]
mov r12, r13
cmp r14, r15
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x50]
je 0x140003b60
mov r13, rax
cmp byte [rsp + 0x78], 0
je 0x140003e10
mov rbx, rdi
mov rdi, r15
mov r15, rsi
mov rsi, r14
and rsi, 0x7f
jne 0x140003dbd
mov rcx, qword [rsp + 0x88]
inc rcx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x530], rcx
lea rcx, [rsp + 0x900]
lea rdx, [rsp + 0x100]
lea r8, [rsp + 0x500]
call fcn.140004290
lea rcx, [rsp + 0x1100]
lea rdx, [rsp + 0x100]
lea r8, [rsp + 0x900]
call fcn.140004290
mov r8d, 0x400
lea rcx, [rsp + 0x900]
lea rdx, [rsp + 0x1100]
call sub.VCRUNTIME140.dll_memcpy
mov r10, qword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
lea rax, [rsp + rsi*8]
add rax, 0x900
mov rsi, r15
mov r15, rdi
mov rdi, rbx
mov rbx, qword [rsp + 0xb0]
mov r8, qword [rax]
cmp qword [rsp + 0x70], 0
je 0x140003e2e
mov rax, r8
shr rax, 0x20
xor edx, edx
div esi
mov ecx, edx
cmp rcx, r10
jne 0x140003e60
mov rax, qword [rsp + 0xf0]
add rax, r14
jmp 0x140003e76
cmp r12, rdi
jae 0x140004219
mov rax, r12
shl rax, 0xa
add rax, rbx
mov r8, qword [rax]
cmp qword [rsp + 0x70], 0
jne 0x140003de3
cmp qword [rsp + 0x68], 0
je 0x140003e72
mov rax, r8
shr rax, 0x20
xor edx, edx
div esi
mov ecx, edx
cmp rcx, r10
jne 0x140003f88
mov rax, qword [rsp + 0xe8]
add rax, r14
jmp 0x140003e76
cmp r14, 1
mov rax, qword [rsp + 0xf8]
sbb rax, 0
jmp 0x140003e79
lea rax, [r14 - 1]
mov rcx, r10
mov edx, r8d
imul rdx, rdx
shr rdx, 0x20
imul rdx, rax
shr rdx, 0x20
not rdx
add rax, qword [rsp + 0x90]
add rax, rdx
mov rdx, rax
or rdx, r9
shr rdx, 0x20
je 0x140003ec0
xor edx, edx
div r9
mov rax, rdx
cmp r12, rdi
jb 0x140003ed0
jmp 0x140004207
xor edx, edx
div r9d
mov eax, edx
cmp r12, rdi
jae 0x140004207
imul rcx, r9
add rax, rcx
cmp rax, rdi
jae 0x1400041f5
shl r12, 0xa
add r12, rbx
shl rax, 0xa
add rax, rbx
lea rcx, [rsp + 0xd00]
mov rdx, r12
mov r8, rax
call fcn.140004290
cmp byte [rsp + 0x4f], 0
jne 0x140003ce0
cmp r13, rdi
jae 0x14000423d
mov rax, r13
shl rax, 0xa
add rax, rbx
xor ecx, ecx
nop word cs:[rax + rax]
movaps xmm0, xmmword [rax + rcx*8]
movaps xmm1, xmmword [rax + rcx*8 + 0x10]
movaps xmm2, xmmword [rax + rcx*8 + 0x20]
movaps xmm3, xmmword [rax + rcx*8 + 0x30]
xorps xmm0, xmmword [rsp + rcx*8 + 0xd00]
xorps xmm1, xmmword [rsp + rcx*8 + 0xd10]
movaps xmmword [rax + rcx*8], xmm0
movaps xmmword [rax + rcx*8 + 0x10], xmm1
xorps xmm2, xmmword [rsp + rcx*8 + 0xd20]
xorps xmm3, xmmword [rsp + rcx*8 + 0xd30]
movaps xmmword [rax + rcx*8 + 0x20], xmm2
movaps xmmword [rax + rcx*8 + 0x30], xmm3
add rcx, 8
cmp rcx, 0x80
jne 0x140003f30
jmp 0x140003d06
cmp r14, 1
mov rax, qword [rsp + 0xa8]
sbb rax, 0
jmp 0x140003e79
mov r14, r11
shl r14, 0xa
lea r13, [rsp + 0x1100]
xor esi, esi
jmp 0x140003fc4
mov eax, dword [rsp + 0x70]
mov esi, eax
mov rbx, qword [rsp + 0x78]
cmp r12, r11
jb 0x140003992
mov dword [rsp + 0x900], 0
mov dword [rsp + 0x500], esi
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0x40
lea rax, [rsp + 0x900]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], 4
lea rax, [rsp + 0x500]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], 4
mov r8d, 0x400
mov rcx, r13
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov edx, 3
mov r9d, 0x400
lea rcx, [rsp + 0x100]
mov r8, r13
call fcn.1400077a0
cmp al, 0x12
jne 0x140003913
lea rax, [rbx + r14]
mov qword [rsp + 0x78], rax
sub r12, qword [rsp + 0x60]
lea eax, [rsi + 1]
mov dword [rsp + 0x70], eax
mov eax, 0x400
xor ecx, ecx
mov rdx, r13
nop dword [rax]
mov r8d, 8
cmp rax, 8
cmovb r8, rax
jb 0x14000424f
mov r9, qword [rdx]
mov qword [rbx + rcx*8], r9
je 0x1400040d4
sub rax, r8
mov r9d, 8
cmp rax, 8
cmovb r9, rax
jb 0x14000424f
add rdx, r8
mov r8, rcx
or r8, 1
mov r10, qword [rdx]
add rdx, r9
sub rax, r9
mov qword [rbx + r8*8], r10
add rcx, 2
test rax, rax
jne 0x140004080
mov dword [rsp + 0x900], 1
mov dword [rsp + 0x500], esi
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0x40
lea rax, [rsp + 0x900]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], 4
lea rax, [rsp + 0x500]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], 4
mov r8d, 0x400
mov rcx, r13
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov edx, 3
mov r9d, 0x400
lea rcx, [rsp + 0x100]
mov r8, r13
call fcn.1400077a0
cmp al, 0x12
jne 0x140003913
mov r9d, 0x400
xor eax, eax
mov rdx, r13
mov rcx, r9
mov r11, qword [rsp + 0x60]
nop dword [rax]
cmp r9, 8
mov r10d, 8
cmovb r10, r9
lea r8, [rdx + r10]
sub rcx, r10
mov r10, rax
or r10, 1
cmp r9, 8
jb 0x14000424f
mov rdx, qword [rdx]
mov qword [rbx + rax*8 + 0x400], rdx
je 0x140003fb0
mov r9d, 8
cmp rcx, 8
cmovb r9, rcx
jb 0x14000424f
lea rdx, [r8 + r9]
sub rcx, r9
mov r8, qword [r8]
mov qword [rbx + r10*8 + 0x400], r8
add rax, 2
mov r9, rcx
test rcx, rcx
jne 0x140004180
jmp 0x140003fb0
mov al, 0x12
jmp 0x140003913
lea r8, str.D:Rust.cargo_registry_srcindex.crates.io_6f17d22bba15001f_argon2_0.5.3_srclib.rs
mov rcx, rax
mov rdx, rdi
call fcn.1400230a0
lea r8, str.D:Rust.cargo_registry_srcindex.crates.io_6f17d22bba15001f_argon2_0.5.3_srclib.rs
mov rcx, r12
mov rdx, rdi
call fcn.1400230a0
lea r8, str.D:Rust.cargo_registry_srcindex.crates.io_6f17d22bba15001f_argon2_0.5.3_srclib.rs
mov rcx, r12
mov rdx, rdi
call fcn.1400230a0
lea r8, str.D:Rust.cargo_registry_srcindex.crates.io_6f17d22bba15001f_argon2_0.5.3_srclib.rs
mov rcx, r13
mov rdx, rdi
call fcn.1400230a0
lea r8, str.D:Rust.cargo_registry_srcindex.crates.io_6f17d22bba15001f_argon2_0.5.3_srclib.rs
mov rcx, r13
mov rdx, rdi
call fcn.1400230a0
lea rax, [0x1400249e8]
mov qword [rsp + 0x20], rax
lea rcx, [0x140024979]
lea r9, [0x140024928]
lea r8, [rsp + 0x5f]
mov edx, 0x11
call fcn.1400232c0
lea rcx, [0x140024bb8]
call fcn.140023500
int3