Function at 0x1401cf670
Capabilities:
Encode data using xor
Encrypt data using blowfish

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x3f]
sub rsp, 0x90
mov rax, qword [0x1402c8b58]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rbx, r8
mov rdi, rcx
mov rdx, qword [rbp + 0x7f]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], rax
lea r8, str.initCrypt_blowfish
lea rcx, [rbp - 0x29]
call fcn.1400531e0
nop
mov eax, dword [rbx + 0x10]
cdq
and edx, 7
lea r14d, [rdx + rax]
sar r14d, 3
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
movups xmmword [rbp - 1], xmm0
movups xmmword [rbp + 0xf], xmm0
movups xmmword [rbp + 0x1f], xmm0
lea rsi, [rbx + 0x18]
mov rcx, rsi
call fcn.140043080
mov rcx, rsi
cmp eax, 0x40
jbe 0x1401cf710
call fcn.140042d50
test rax, rax
je 0x1401cf73b
mov rcx, rsi
call fcn.140042d50
mov r8d, 0x40
jmp 0x1401cf72f
call fcn.140042d50
test rax, rax
je 0x1401cf73b
mov rcx, rsi
call fcn.140043080
mov ebx, eax
mov rcx, rsi
call fcn.140042d50
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x11]
call fcn.140012bd0
lea r8, [rdi + 0xb0]
mov rax, qword [r8]
lea rcx, [rax + 0x44]
lea rdx, [0x1402c7644]
xor ebx, ebx
lea r9, [0x1402c7600]
cmp rax, rdx
ja 0x1401cf765
mov edx, ebx
cmp rcx, r9
jae 0x1401cf772
cmp rax, r8
ja 0x1401cf796
mov rdx, rbx
cmp rcx, r8
jb 0x1401cf796
cmp rdx, 0x12
jae 0x1401cf7ce
lea rdx, [rdx*4]
mov rcx, qword [r8]
mov eax, dword [rdx + r9]
mov dword [rdx + rcx], eax
add rdx, 4
cmp rdx, 0x48
jl 0x1401cf780
jmp 0x1401cf7ce
movaps xmm0, xmmword [0x1402c7600]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x1402c7610]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x1402c7620]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x1402c7630]
movups xmmword [rax + 0x30], xmm1
movsd xmm0, qword [0x1402c7640]
movsd qword [rax + 0x40], xmm0
mov rax, rbx
lea r9, [0x1402c7650]
nop dword [rax + rax]
mov r8d, 0x40
nop word [rax + rax]
mov rdx, qword [rdi + 0xb8]
mov ecx, dword [rax + r9]
mov dword [rax + rdx], ecx
mov rdx, qword [rdi + 0xb8]
mov ecx, dword [rax + r9 + 4]
mov dword [rdx + rax + 4], ecx
mov rdx, qword [rdi + 0xb8]
mov ecx, dword [rax + r9 + 8]
mov dword [rdx + rax + 8], ecx
mov rdx, qword [rdi + 0xb8]
mov ecx, dword [rax + r9 + 0xc]
mov dword [rdx + rax + 0xc], ecx
add rax, 0x10
sub r8, 1
jne 0x1401cf7f0
cmp rax, 0x1000
jl 0x1401cf7e0
mov r10d, ebx
lea r11d, [r8 + 0xc]
nop word [rax + rax]
mov r9, qword [rdi + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x11]
movsxd rax, r10d
movzx ecx, byte [rbp + rax - 0x11]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
xor dword [r9 + r11 - 0xc], r8d
lea eax, [r10 + 4]
cdq
idiv r14d
movsxd r10, edx
mov r9, qword [rdi + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x11]
movzx ecx, byte [rbp + r10 - 0x11]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
xor dword [r9 + r11 - 8], r8d
lea eax, [r10 + 4]
cdq
idiv r14d
movsxd r10, edx
mov r9, qword [rdi + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x11]
movzx ecx, byte [rbp + r10 - 0x11]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
xor dword [r9 + r11 - 4], r8d
lea eax, [r10 + 4]
cdq
idiv r14d
movsxd r10, edx
mov r9, qword [rdi + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x11]
movzx ecx, byte [rbp + r10 - 0x11]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
xor dword [r9 + r11], r8d
lea eax, [r10 + 4]
cdq
idiv r14d
movsxd r10, edx
mov r9, qword [rdi + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x11]
movzx ecx, byte [rbp + r10 - 0x11]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
xor dword [r9 + r11 + 4], r8d
lea eax, [r10 + 4]
cdq
idiv r14d
movsxd r10, edx
mov r9, qword [rdi + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x11]
movzx ecx, byte [rbp + r10 - 0x11]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
xor dword [r9 + r11 + 8], r8d
lea eax, [r10 + 4]
cdq
idiv r14d
movsxd r10, edx
mov r9, qword [rdi + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x11]
movzx ecx, byte [rbp + r10 - 0x11]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
xor dword [r9 + r11 + 0xc], r8d
lea eax, [r10 + 4]
cdq
idiv r14d
movsxd r10, edx
mov r9, qword [rdi + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x11]
movzx ecx, byte [rbp + r10 - 0x11]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
xor dword [r9 + r11 + 0x10], r8d
lea eax, [r10 + 4]
cdq
idiv r14d
movsxd r9, edx
lea eax, [r9 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x11]
movzx ecx, byte [rbp + r9 - 0x11]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r9 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
shl r8d, 8
lea eax, [r9 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x11]
or r8d, ecx
mov rax, qword [rdi + 0xb0]
xor dword [rax + r11 + 0x14], r8d
lea eax, [r9 + 4]
cdq
idiv r14d
mov r10d, edx
add r11, 0x24
cmp r11, 0x54
jl 0x1401cf850
mov dword [rbp - 0x31], ebx
mov dword [rbp - 0x2d], ebx
mov rsi, rbx
nop word [rax + rax]
lea r8, [rbp - 0x2d]
lea rdx, [rbp - 0x31]
mov rcx, rdi
call fcn.1401d26c0
mov rcx, qword [rdi + 0xb0]
mov eax, dword [rbp - 0x31]
mov dword [rsi + rcx], eax
mov rcx, qword [rdi + 0xb0]
mov eax, dword [rbp - 0x2d]
mov dword [rcx + rsi + 4], eax
add rsi, 8
cmp rsi, 0x48
jl 0x1401cfbe0
nop word [rax + rax]
mov esi, 0x80
nop word [rax + rax]
lea r8, [rbp - 0x2d]
lea rdx, [rbp - 0x31]
mov rcx, rdi
call fcn.1401d26c0
mov rcx, qword [rdi + 0xb8]
mov eax, dword [rbp - 0x31]
mov dword [rbx + rcx], eax
mov rcx, qword [rdi + 0xb8]
mov eax, dword [rbp - 0x2d]
mov dword [rcx + rbx + 4], eax
add rbx, 8
sub rsi, 1
jne 0x1401cfc30
cmp rbx, 0x1000
jl 0x1401cfc20
lea rcx, [rbp - 0x29]
call fcn.140053390
mov al, 1
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1401e12d0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret