Function at 0x7ff810afa860
Capabilities:
Encrypt data using blowfish
Encrypt data using rc4 prga

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov rax, qword [0x7ff810b3e288]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x14]
test eax, eax
je 0x7ff810afa89b
mov al, 1
jmp 0x7ff810afaba6
mov ecx, 0x48
call fcn.7ff810b113cc
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
mov rax, qword [rsp + 0x50]
cmp qword [rax], 0
jne 0x7ff810afa8bf
xor al, al
jmp 0x7ff810afaba6
mov ecx, 0x1000
call fcn.7ff810b113cc
mov rcx, qword [rsp + 0x50]
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0x50]
cmp qword [rax + 8], 0
jne 0x7ff810afa8fe
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
call fcn.7ff810b113c4
mov rax, qword [rsp + 0x50]
mov qword [rax], 0
xor al, al
jmp 0x7ff810afaba6
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x68]
mov dword [rax + 0x10], ecx
mov dword [rsp + 0x20], 0
jmp 0x7ff810afa91e
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0x12
jge 0x7ff810afa947
movsxd rax, dword [rsp + 0x20]
lea rcx, [0x7ff810b3d230]
movsxd rdx, dword [rsp + 0x20]
mov r8, qword [rsp + 0x50]
mov r8, qword [r8]
mov eax, dword [rcx + rax*4]
mov dword [r8 + rdx*4], eax
jmp 0x7ff810afa914
mov dword [rsp + 0x20], 0
jmp 0x7ff810afa95b
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 4
jge 0x7ff810afa9c3
mov dword [rsp + 0x24], 0
jmp 0x7ff810afa976
mov eax, dword [rsp + 0x24]
inc eax
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0x100
jge 0x7ff810afa9c1
movsxd rax, dword [rsp + 0x20]
imul rax, rax, 0x400
lea rcx, [0x7ff810b3d280]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x24]
movsxd rdx, dword [rsp + 0x20]
imul rdx, rdx, 0x400
mov r8, qword [rsp + 0x50]
add rdx, qword [r8 + 8]
movsxd r8, dword [rsp + 0x24]
mov eax, dword [rax + rcx*4]
mov dword [rdx + r8*4], eax
jmp 0x7ff810afa96c
jmp 0x7ff810afa951
mov dword [rsp + 0x24], 0
mov dword [rsp + 0x20], 0
jmp 0x7ff810afa9df
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0x12
jge 0x7ff810afaa8f
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x58]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x2f], al
mov eax, dword [rsp + 0x24]
inc eax
cdq
idiv dword [rsp + 0x60]
mov eax, edx
cdqe
mov rcx, qword [rsp + 0x58]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x2e], al
mov eax, dword [rsp + 0x24]
add eax, 2
cdq
idiv dword [rsp + 0x60]
mov eax, edx
cdqe
mov rcx, qword [rsp + 0x58]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x2d], al
mov eax, dword [rsp + 0x24]
add eax, 3
cdq
idiv dword [rsp + 0x60]
mov eax, edx
cdqe
mov rcx, qword [rsp + 0x58]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x2c], al
movsxd rax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
mov edx, dword [rsp + 0x2c]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
mov dword [rdx + rcx*4], eax
mov eax, dword [rsp + 0x24]
add eax, 4
cdq
idiv dword [rsp + 0x60]
mov eax, edx
mov dword [rsp + 0x24], eax
jmp 0x7ff810afa9d5
mov dword [rsp + 0x28], 0
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x20], 0
jmp 0x7ff810afaab4
mov eax, dword [rsp + 0x20]
add eax, 2
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0x12
jge 0x7ff810afaafc
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
call fcn.7ff810af5a70
movsxd rax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
mov edx, dword [rsp + 0x30]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp + 0x20]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
mov edx, dword [rsp + 0x28]
mov dword [rcx + rax*4], edx
jmp 0x7ff810afaaa9
mov dword [rsp + 0x20], 0
jmp 0x7ff810afab10
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 4
jge 0x7ff810afab9b
mov dword [rsp + 0x24], 0
jmp 0x7ff810afab30
mov eax, dword [rsp + 0x24]
add eax, 2
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0x100
jge 0x7ff810afab96
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
call fcn.7ff810af5a70
movsxd rax, dword [rsp + 0x20]
imul rax, rax, 0x400
mov rcx, qword [rsp + 0x50]
add rax, qword [rcx + 8]
movsxd rcx, dword [rsp + 0x24]
mov edx, dword [rsp + 0x30]
mov dword [rax + rcx*4], edx
movsxd rax, dword [rsp + 0x20]
imul rax, rax, 0x400
mov rcx, qword [rsp + 0x50]
add rax, qword [rcx + 8]
mov ecx, dword [rsp + 0x24]
inc ecx
movsxd rcx, ecx
mov edx, dword [rsp + 0x28]
mov dword [rax + rcx*4], edx
jmp 0x7ff810afab25
jmp 0x7ff810afab06
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x14], 1
mov al, 1
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.7ff810afee80
add rsp, 0x48
ret