Function at 0x1400d4248
Capabilities:
Encrypt data using blowfish
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1178
call fcn.14015c830
sub rsp, rax
movdqa xmmword [rsp + 0x1160], xmm6
mov r13, rdx
mov qword [rsp + 0x60], rcx
lea rcx, [rsp + 0xf0]
call fcn.140107eb7
lea r15, [r13 + 0x40]
lea rcx, [rsp + 0x70]
call fcn.14010f7af
lea rsi, [r13 + 0x90]
lea rcx, [rsp + 0xb0]
call fcn.14010f7af
mov qword [rsp + 0x30], r15
movzx edi, byte [r13 + 0x110]
mov rbx, qword [r13 + 0x80]
mov r14, qword [r13 + 0x88]
lea r12, [rdi*8]
mov byte [r13 + rdi + 0x90], pe_nt_image_headers64
lea rdx, [rdi + 1]
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_block_buffer_0.10.4_src_lib.rs
mov rcx, rsi
call fcn.14000b39a
xor ecx, ecx
cmp rdx, rcx
je 0x1400d42f0
mov byte [rax + rcx], 0
inc rcx
jmp 0x1400d42e2
shld r14, rbx, 0xa
shl rbx, 0xa
or rbx, r12
bswap rbx
bswap r14
not edi
test dil, 0x70
jne 0x1400d4337
lea rdi, [rsp + 0x30]
mov rcx, rdi
mov rdx, rsi
call fcn.1400d4b84
lea rsi, [rsp + 0x118]
mov rcx, rsi
call fcn.14010f7c2
mov qword [rsi + 0x78], rbx
mov qword [rsi + 0x70], r14
mov rcx, rdi
jmp 0x1400d434a
mov qword [r13 + 0x100], r14
mov qword [r13 + 0x108], rbx
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.1400d4b84
mov byte [r13 + 0x110], 0
xor eax, eax
mov rcx, qword [rsp + 0x30]
cmp rax, 8
je 0x1400d437b
mov rdx, qword [rcx + rax*8]
bswap rdx
mov qword [rsp + rax*8 + 0xb0], rdx
inc rax
jmp 0x1400d4361
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movups xmm2, xmmword [rsp + 0xd0]
movups xmm3, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0xa0], xmm3
movups xmm0, xmmword [0x1401f71b0]
movups xmmword [r15 + 0x30], xmm0
movups xmm0, xmmword [0x1401f71a0]
movups xmmword [r15 + 0x20], xmm0
movups xmm0, xmmword [0x1401f7190]
movups xmmword [r15 + 0x10], xmm0
movups xmm0, xmmword [0x1401f7180]
movups xmmword [r15], xmm0
xorps xmm0, xmm0
movups xmmword [r13 + 0x80], xmm0
mov byte [r13 + 0x110], 0
movdqa xmm0, xmmword [rsp + 0x70]
movdqa xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movaps xmm3, xmmword [rsp + 0xa0]
movdqa xmmword [rsp + 0xb0], xmm0
movdqa xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xd0], xmm2
movaps xmmword [rsp + 0xe0], xmm3
lea rdx, [0x140167a20]
lea rcx, [rsp + 0x118]
mov r8d, 0x1000
call sub.msvcrt.dll_memcpy
lea rdi, [rsp + 0x1118]
lea rsi, [0x140168a20]
mov ecx, 0x12
rep movsd dword [rdi], dword [rsi]
lea rsi, [rsp + 0x30]
and qword [rsi], 0
mov edi, 0x400
cmp rdi, 0x412
je 0x1400d4499
mov rcx, r13
mov rdx, rsi
call fcn.14001174f
xor dword [rsp + rdi*4 + 0x118], eax
inc rdi
jmp 0x1400d4479
lea rsi, [rsp + 0x70]
and qword [rsi], 0
pxor xmm6, xmm6
mov ebx, 0x200
lea rdi, [rsp + 0xb0]
lea r15, [rsp + 0x118]
cmp rbx, 0x209
je 0x1400d4523
mov rcx, rdi
mov rdx, rsi
call fcn.14001174f
movd ebp, xmm6
xor ebp, eax
mov rcx, rdi
mov rdx, rsi
call fcn.14001174f
pshufd xmm0, xmm6, 0x55
movd ecx, xmm0
xor ecx, eax
movd xmm0, ebp
movd xmm1, ecx
punpckldq xmm0, xmm1
movq rdx, xmm0
mov rcx, r15
call fcn.14001177f
mov dword [rsp + rbx*8 + 0x118], eax
movq xmm6, rax
pshufd xmm0, xmm6, 0x55
movd dword [rsp + rbx*8 + 0x11c], xmm0
inc rbx
jmp 0x1400d44bb
mov qword [rsp + 0x58], r13
lea r13, [rsp + 0x124]
xor eax, eax
lea rsi, [rsp + 0xb0]
lea rdi, [rsp + 0x70]
lea r15, [rsp + 0x118]
cmp rax, 4
je 0x1400d461e
mov qword [rsp + 0x68], rax
xor r14d, r14d
cmp r14, 0x400
je 0x1400d460a
mov rcx, rsi
mov rdx, rdi
call fcn.14001174f
movd ebp, xmm6
xor ebp, eax
mov rcx, rsi
mov rdx, rdi
call fcn.14001174f
pshufd xmm0, xmm6, 0x55
movd ecx, xmm0
xor ecx, eax
movd xmm0, ebp
movd xmm1, ecx
punpckldq xmm0, xmm1
movq rdx, xmm0
mov rcx, r15
call fcn.14001177f
mov r12, rax
mov qword [r13 + r14 - 0xc], rax
mov rbx, rax
shr rbx, 0x20
mov rcx, rsi
mov rdx, rdi
call fcn.14001174f
mov ebp, eax
xor ebp, r12d
mov rcx, rsi
mov rdx, rdi
call fcn.14001174f
xor eax, ebx
movd xmm0, ebp
movd xmm1, eax
punpckldq xmm0, xmm1
movq rdx, xmm0
mov rcx, r15
call fcn.14001177f
movq xmm6, rax
pshufd xmm0, xmm6, 0x55
mov dword [r13 + r14 - 4], eax
movd dword [r13 + r14], xmm0
add r14, 0x10
jmp 0x1400d4559
mov rax, qword [rsp + 0x68]
inc rax
add r13, 0x400
jmp 0x1400d4547
mov ebx, 0x40
lea rsi, [rsp + 0x118]
lea rdi, [rsp + 0xb0]
mov r14, qword [rsp + 0x58]
sub ebx, 1
jb 0x1400d4655
mov rcx, rsi
mov rdx, rdi
call fcn.140011826
mov rcx, rsi
mov rdx, r14
call fcn.140011826
jmp 0x1400d4638
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x30], xmm0
xor eax, eax
lea rcx, str.OxychromaticBlowfishSwatDynamite
cmp rax, 0x20
je 0x1400d4683
mov edx, dword [rax + rcx]
bswap edx
mov dword [rsp + rax + 0x30], edx
add rax, 4
jmp 0x1400d466e
xor edi, edi
lea rsi, [rsp + 0x118]
cmp edi, 0x40
je 0x1400d46b5
xor ebx, ebx
cmp rbx, 4
je 0x1400d46b1
mov rdx, qword [rsp + rbx*8 + 0x30]
mov rcx, rsi
call fcn.14001177f
mov qword [rsp + rbx*8 + 0x30], rax
inc rbx
jmp 0x1400d4694
inc edi
jmp 0x1400d468d
pxor xmm0, xmm0
lea rsi, [rsp + 0x70]
movdqa xmmword [rsi + 0x10], xmm0
movdqa xmmword [rsi], xmm0
xor r14d, r14d
lea rbx, [0x140166ed8]
lea r12, [0x140166ef0]
lea rdi, [rsp + 0x2c]
cmp r14, 0x20
je 0x1400d4724
lea r15, [r14 + 4]
mov qword [rsp + 0x20], rbx
mov r9d, 0x20
mov rcx, r14
mov rdx, r15
mov r8, rsi
call fcn.14005b285
mov ecx, dword [rsp + r14 + 0x30]
mov dword [rsp + 0x2c], ecx
mov qword [rsp + 0x20], r12
mov r9d, 4
mov rcx, rax
mov r8, rdi
call fcn.1401401a1
mov r14, r15
jmp 0x1400d46dd
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x100], xmm1
movaps xmmword [rsp + 0xf0], xmm0
mov rax, qword [rsp + 0x60]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movaps xmm6, xmmword [rsp + 0x1160]
add rsp, 0x1178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret