Function at 0x1400240e0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x560
movaps xmmword [rsp + 0x550], xmm6
mov r15, rdx
mov r14, rcx
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x14002412c
mov rax, qword [r15 + 8]
lea rbx, [rdx - 1]
mov esi, edx
and esi, 7
movabs rcx, 0x100000001b3
cmp rbx, 7
jae 0x14002413b
mov edi, 0x811c9dc5
jmp 0x1400241b1
movabs rbx, 0x1c9d3adb639f298e
jmp 0x1400241e1
and rdx, 0xfffffffffffffff8
mov edi, 0x811c9dc5
nop word cs:[rax + rax]
movzx ebx, byte [rax]
xor rbx, rdi
imul rbx, rcx
movzx edi, byte [rax + 1]
xor rdi, rbx
imul rdi, rcx
movzx ebx, byte [rax + 2]
xor rbx, rdi
imul rbx, rcx
movzx edi, byte [rax + 3]
xor rdi, rbx
imul rdi, rcx
movzx ebx, byte [rax + 4]
xor rbx, rdi
imul rbx, rcx
movzx edi, byte [rax + 5]
xor rdi, rbx
imul rdi, rcx
movzx ebx, byte [rax + 6]
xor rbx, rdi
imul rbx, rcx
movzx edi, byte [rax + 7]
add rax, 8
xor rdi, rbx
imul rdi, rcx
add rdx, 0xfffffffffffffff8
jne 0x140024150
mov rbx, rdi
test rsi, rsi
je 0x1400241d6
xor edx, edx
nop dword [rax + rax]
movzx ebx, byte [rax + rdx]
xor rbx, rdi
imul rbx, rcx
inc rdx
mov rdi, rbx
cmp rsi, rdx
jne 0x1400241c0
xor rbx, 0xff
imul rbx, rcx
mov eax, dword [0x140221400]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x18], 0
jne 0x140024203
call fcn.14014c4e0
xorps xmm6, xmm6
movups xmmword [rsp + 0x150], xmm6
mov qword [rsp + 0x160], 0
movups xmmword [rsp + 0x130], xmm6
mov qword [rsp + 0x1c0], rbx
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x220], xmm0
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x2b0], 0x110000
mov qword [rsp + 0x1d0], 0
mov qword [rsp + 0x1e8], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0x238], 0
mov qword [rsp + 0x240], 8
movups xmmword [rsp + 0x248], xmm6
mov qword [rsp + 0x258], 4
movups xmmword [rsp + 0x260], xmm6
mov qword [rsp + 0x270], 8
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0x200], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x1a0], 0
mov qword [rsp + 0xe0], 0
movaps xmm0, xmmword [0x1401767e0]
movups xmmword [rsp + 0x210], xmm0
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 8
mov qword [rsp + 0x140], 8
mov qword [rsp + 0x148], 0
movups xmmword [rsp + 0x278], xmm6
mov qword [rsp + 0x288], 8
lea rax, [0x1401ef3a0]
mov qword [rsp + 0x168], rax
mov eax, dword [0x140221400]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movups xmm0, xmmword [rax + 0x20]
inc qword [rax + 0x20]
movups xmmword [rsp + 0x170], xmm0
movups xmmword [rsp + 0x290], xmm6
mov qword [rsp + 0x2a0], 8
mov qword [rsp + 0x2a8], 0
mov qword [rsp + 0xf0], 0
movaps xmm0, xmmword [0x140176630]
movups xmmword [rsp + 0x1b0], xmm0
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x110], 0
mov rdi, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x130]
mov ecx, 8
test rax, rax
jne 0x140024476
lea rcx, [rsp + 0x120]
xor edx, edx
call fcn.140024970
mov rcx, qword [rsp + 0x128]
mov rax, qword [rsp + 0x130]
lea rdx, [rax + rax*4]
shl rdx, 7
lea rbx, str.Print_help_informationversionPrint_version_informationC:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823clap_3.2.25_src_buildercommand.rs__
mov qword [rcx + rdx], rbx
mov qword [rcx + rdx + 8], reloc.WS2_32.dll_shutdown
mov qword [rcx + rdx + 0x10], 0
lea rbx, [0x14017836c]
mov qword [rcx + rdx + 0x20], rbx
mov qword [rcx + rdx + 0x28], 4
mov qword [rcx + rdx + 0x30], 0
mov qword [rcx + rdx + 0x40], 0
mov qword [rcx + rdx + 0x50], 0
mov qword [rcx + rdx + 0x60], rbx
mov qword [rcx + rdx + 0x68], 4
mov qword [rcx + rdx + 0x90], 0
mov qword [rcx + rdx + 0xa0], 0
mov qword [rcx + rdx + 0xb0], 0
mov qword [rcx + rdx + 0xc0], 0
movups xmmword [rcx + rdx + 0x70], xmm6
mov qword [rcx + rdx + 0x80], 0
movaps xmm0, xmmword [0x1401767f0]
movups xmmword [rcx + rdx + 0xd0], xmm0
mov qword [rcx + rdx + 0xe0], 8
movups xmmword [rcx + rdx + 0xe8], xmm6
mov qword [rcx + rdx + 0xf8], 8
movups xmmword [rcx + rdx + 0x100], xmm6
mov qword [rcx + rdx + 0x110], 8
movups xmmword [rcx + rdx + 0x118], xmm6
mov qword [rcx + rdx + 0x128], 8
movups xmmword [rcx + rdx + 0x130], xmm6
mov qword [rcx + rdx + 0x140], 8
movups xmmword [rcx + rdx + 0x148], xmm6
mov qword [rcx + rdx + 0x158], 8
movups xmmword [rcx + rdx + 0x160], xmm6
mov qword [rcx + rdx + 0x170], 8
movups xmmword [rcx + rdx + 0x178], xmm6
mov qword [rcx + rdx + 0x188], 8
movups xmmword [rcx + rdx + 0x190], xmm6
mov qword [rcx + rdx + 0x1a0], 8
movups xmmword [rcx + rdx + 0x1a8], xmm6
mov qword [rcx + rdx + 0x1b8], 4
movups xmmword [rcx + rdx + 0x1c0], xmm6
mov qword [rcx + rdx + 0x1d0], 8
movups xmmword [rcx + rdx + 0x1d8], xmm6
mov qword [rcx + rdx + 0x1e8], 8
movups xmmword [rcx + rdx + 0x1f0], xmm6
mov qword [rcx + rdx + 0x200], 8
movups xmmword [rcx + rdx + 0x208], xmm6
mov qword [rcx + rdx + 0x218], 8
movups xmmword [rcx + rdx + 0x220], xmm6
mov qword [rcx + rdx + 0x230], 8
movaps xmm6, xmmword [0x1401767b0]
movups xmmword [rcx + rdx + 0x238], xmm6
mov qword [rcx + rdx + 0x258], 1
mov qword [rcx + rdx + 0x260], 0
mov qword [rcx + rdx + 0x268], rdi
movabs r15, 0x11000000000008
mov qword [rcx + rdx + 0x270], r15
mov dword [rcx + rdx + 0x278], 0x110000
mov word [rcx + rdx + 0x27c], 0x90d
mov byte [rcx + rdx + 0x27e], 0
inc rax
mov qword [rsp + 0x130], rax
lea rcx, [rsp + 0x2b8]
lea rdx, [rsp + 0x20]
mov r8d, 0x298
call sub.VCRUNTIME140.dll_memcpy
mov rsi, qword [rsp + 0x388]
mov rbx, qword [rsp + 0x390]
mov rdx, qword [rsp + 0x3c8]
cmp rdx, qword [rsp + 0x3b8]
jne 0x140024705
lea rcx, [rsp + 0x3b8]
call fcn.140024970
mov rdx, qword [rsp + 0x3c8]
mov rax, qword [rsp + 0x3c0]
lea rcx, [rdx + rdx*4]
shl rcx, 7
lea rdi, [0x1401783a5]
mov qword [rax + rcx], rdi
mov qword [rax + rcx + 8], 0x19
mov qword [rax + rcx + 0x10], 0
lea rdi, [0x14017839e]
mov qword [rax + rcx + 0x20], rdi
mov qword [rax + rcx + 0x28], 7
mov qword [rax + rcx + 0x30], 0
mov qword [rax + rcx + 0x40], 0
mov qword [rax + rcx + 0x50], 0
mov qword [rax + rcx + 0x60], rdi
mov qword [rax + rcx + 0x68], 7
mov qword [rax + rcx + 0x90], 0
mov qword [rax + rcx + 0xa0], 0
mov qword [rax + rcx + 0xb0], 0
mov qword [rax + rcx + 0xc0], 0
xorps xmm0, xmm0
movups xmmword [rax + rcx + 0x70], xmm0
mov qword [rax + rcx + 0x80], 0
movaps xmm1, xmmword [0x140176800]
movups xmmword [rax + rcx + 0xd0], xmm1
mov qword [rax + rcx + 0xe0], 8
movups xmmword [rax + rcx + 0xe8], xmm0
mov qword [rax + rcx + 0xf8], 8
movups xmmword [rax + rcx + 0x100], xmm0
mov qword [rax + rcx + 0x110], 8
movups xmmword [rax + rcx + 0x118], xmm0
mov qword [rax + rcx + 0x128], 8
movups xmmword [rax + rcx + 0x130], xmm0
mov qword [rax + rcx + 0x140], 8
movups xmmword [rax + rcx + 0x148], xmm0
mov qword [rax + rcx + 0x158], 8
movups xmmword [rax + rcx + 0x160], xmm0
mov qword [rax + rcx + 0x170], 8
movups xmmword [rax + rcx + 0x178], xmm0
mov qword [rax + rcx + 0x188], 8
movups xmmword [rax + rcx + 0x190], xmm0
mov qword [rax + rcx + 0x1a0], 8
movups xmmword [rax + rcx + 0x1a8], xmm0
mov qword [rax + rcx + 0x1b8], 4
movups xmmword [rax + rcx + 0x1c0], xmm0
mov qword [rax + rcx + 0x1d0], 8
movups xmmword [rax + rcx + 0x1d8], xmm0
mov qword [rax + rcx + 0x1e8], 8
movups xmmword [rax + rcx + 0x1f0], xmm0
mov qword [rax + rcx + 0x200], 8
movups xmmword [rax + rcx + 0x208], xmm0
mov qword [rax + rcx + 0x218], 8
movups xmmword [rax + rcx + 0x220], xmm0
mov qword [rax + rcx + 0x230], 8
movups xmmword [rax + rcx + 0x238], xmm6
mov qword [rax + rcx + 0x258], 1
mov qword [rax + rcx + 0x260], rsi
mov qword [rax + rcx + 0x268], rbx
mov qword [rax + rcx + 0x270], r15
mov dword [rax + rcx + 0x278], 0x110000
mov word [rax + rcx + 0x27c], 0x90d
mov byte [rax + rcx + 0x27e], 0
inc rdx
mov qword [rsp + 0x3c8], rdx
lea rdx, [rsp + 0x2b8]
mov r8d, 0x298
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
movaps xmm6, xmmword [rsp + 0x550]
add rsp, 0x560
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret