Function at 0x1402d94b0
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 [0x14040f040]
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.14015bdd0
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.14014b850
mov rcx, rsi
cmp eax, 0x40
jbe 0x1402d9550
call fcn.14014b520
test rax, rax
je 0x1402d957b
mov rcx, rsi
call fcn.14014b520
mov r8d, 0x40
jmp 0x1402d956f
call fcn.14014b520
test rax, rax
je 0x1402d957b
mov rcx, rsi
call fcn.14014b850
mov ebx, eax
mov rcx, rsi
call fcn.14014b520
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x11]
call fcn.14011a6e0
lea r8, [rdi + 0xb0]
mov rax, qword [r8]
lea rcx, [rax + 0x44]
lea rdx, [0x14041c804]
xor ebx, ebx
lea r9, [0x14041c7c0]
cmp rax, rdx
ja 0x1402d95a5
mov edx, ebx
cmp rcx, r9
jae 0x1402d95b2
cmp rax, r8
ja 0x1402d95d6
mov rdx, rbx
cmp rcx, r8
jb 0x1402d95d6
cmp rdx, 0x12
jae 0x1402d960e
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 0x1402d95c0
jmp 0x1402d960e
movaps xmm0, xmmword [0x14041c7c0]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x14041c7d0]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x14041c7e0]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x14041c7f0]
movups xmmword [rax + 0x30], xmm1
movsd xmm0, qword [0x14041c800]
movsd qword [rax + 0x40], xmm0
mov rax, rbx
lea r9, [0x14041c810]
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 0x1402d9630
cmp rax, 0x1000
jl 0x1402d9620
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 0x1402d9690
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.1402dc090
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 0x1402d9a20
nop word [rax + rax]
mov esi, 0x80
nop word [rax + rax]
lea r8, [rbp - 0x2d]
lea rdx, [rbp - 0x31]
mov rcx, rdi
call fcn.1402dc090
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 0x1402d9a70
cmp rbx, 0x1000
jl 0x1402d9a60
lea rcx, [rbp - 0x29]
call fcn.14015bf80
mov al, 1
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140109210
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret