Function at 0x140097cd0
Capabilities:
Encrypt data using blowfish

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
movaps xmm0, xmmword [0x1400be3f0]
lea rbx, [rcx + 0x48]
movups xmmword [rcx], xmm0
mov edi, r8d
mov rbp, rdx
movaps xmm1, xmmword [0x1400be400]
lea rdx, [0x1400be440]
movups xmmword [rcx + 0x10], xmm1
mov rsi, rcx
mov r8d, 0x1000
movaps xmm0, xmmword [0x1400be410]
movups xmmword [rcx + 0x20], xmm0
movaps xmm1, xmmword [0x1400be420]
movups xmmword [rcx + 0x30], xmm1
movsd xmm0, qword [0x1400be430]
movsd qword [rcx + 0x40], xmm0
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, edi
mov r8d, 4
and ecx, 3
je 0x140097d60
nop dword [rax]
mov eax, r8d
xor edx, edx
div ecx
mov r8d, ecx
mov ecx, edx
test edx, edx
jne 0x140097d50
xor edx, edx
mov eax, edi
div r8d
mov rcx, 0xffffffffffffffff
mov r14d, eax
mov eax, 4
mul r14
cmovo rax, rcx
mov rcx, rax
call fcn.1400a3a7c
xor r9d, r9d
mov r11, rax
test r14d, r14d
je 0x140097df0
mov r10, rax
xor edx, edx
lea r8d, [r9*4]
mov eax, r8d
lea r10, [r10 + 4]
div edi
inc r9d
movzx eax, byte [rdx + rbp]
xor edx, edx
mov byte [rsp + 0x53], al
lea eax, [r8 + 1]
div edi
movzx eax, byte [rdx + rbp]
xor edx, edx
mov byte [rsp + 0x52], al
lea eax, [r8 + 2]
div edi
movzx eax, byte [rdx + rbp]
xor edx, edx
mov byte [rsp + 0x51], al
lea eax, [r8 + 3]
div edi
movzx eax, byte [rdx + rbp]
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x50]
mov dword [r10 - 4], eax
cmp r9d, r14d
jb 0x140097d93
nop
mov eax, dword [r11]
xor edx, edx
xor dword [rsi], eax
mov ebp, 9
mov eax, 1
div r14d
mov eax, dword [r11 + rdx*4]
xor edx, edx
xor dword [rsi + 4], eax
mov eax, 2
div r14d
mov eax, 3
mov edx, dword [r11 + rdx*4]
xor dword [rsi + 8], edx
xor edx, edx
div r14d
mov eax, 4
mov edx, dword [r11 + rdx*4]
xor dword [rsi + 0xc], edx
xor edx, edx
div r14d
mov eax, dword [r11 + rdx*4]
xor edx, edx
xor dword [rsi + 0x10], eax
mov eax, 5
div r14d
mov eax, dword [r11 + rdx*4]
xor edx, edx
xor dword [rsi + 0x14], eax
mov eax, 6
div r14d
mov eax, dword [r11 + rdx*4]
xor edx, edx
xor dword [rsi + 0x18], eax
mov eax, 7
div r14d
mov eax, dword [r11 + rdx*4]
xor edx, edx
xor dword [rsi + 0x1c], eax
mov eax, 8
div r14d
mov eax, dword [r11 + rdx*4]
xor edx, edx
xor dword [rsi + 0x20], eax
mov eax, ebp
div r14d
mov eax, dword [r11 + rdx*4]
xor edx, edx
xor dword [rsi + 0x24], eax
mov eax, 0xa
div r14d
mov eax, dword [r11 + rdx*4]
xor edx, edx
xor dword [rsi + 0x28], eax
mov eax, 0xb
div r14d
mov eax, dword [r11 + rdx*4]
xor edx, edx
xor dword [rsi + 0x2c], eax
mov eax, 0xc
div r14d
mov eax, dword [r11 + rdx*4]
xor edx, edx
xor dword [rsi + 0x30], eax
mov eax, 0xd
div r14d
mov eax, dword [r11 + rdx*4]
xor edx, edx
xor dword [rsi + 0x34], eax
mov eax, 0xe
div r14d
mov eax, dword [r11 + rdx*4]
xor edx, edx
xor dword [rsi + 0x38], eax
mov eax, 0xf
div r14d
mov eax, dword [r11 + rdx*4]
xor edx, edx
xor dword [rsi + 0x3c], eax
mov eax, 0x10
div r14d
mov eax, dword [r11 + rdx*4]
mov rcx, r11
xor dword [rsi + 0x40], eax
xor edx, edx
mov eax, 0x11
div r14d
mov eax, dword [r11 + rdx*4]
xor dword [rsi + 0x44], eax
call fcn.1400a35d4
mov dword [rsp + 0x50], 0
mov rdi, rsi
mov dword [rsp + 0x40], 0
lea r8, [rsp + 0x40]
mov rcx, rsi
lea rdx, [rsp + 0x50]
call fcn.140097810
mov eax, dword [rsp + 0x50]
mov dword [rdi], eax
lea rdi, [rdi + 8]
mov eax, dword [rsp + 0x40]
mov dword [rdi - 4], eax
sub rbp, 1
jne 0x140097f33
mov edi, 0x200
lea r8, [rsp + 0x40]
mov rcx, rsi
lea rdx, [rsp + 0x50]
call fcn.140097810
mov eax, dword [rsp + 0x50]
mov dword [rbx], eax
lea rbx, [rbx + 8]
mov eax, dword [rsp + 0x40]
mov dword [rbx - 4], eax
sub rdi, 1
jne 0x140097f61
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret