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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0x90
mov rax, qword [0x1403291e8]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov rdi, r8
mov rbx, rcx
mov rdx, qword [rbp + 0x7f]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x29], rax
lea r8, str.initCrypt_blowfish
lea rcx, [rbp - 0x39]
call fcn.1400a0cf0
nop
mov eax, dword [rdi + 0x10]
cdq
and edx, 7
lea r14d, [rdx + rax]
sar r14d, 3
xorps xmm0, xmm0
movups xmmword [rbp - 0x21], xmm0
movups xmmword [rbp - 0x11], xmm0
movups xmmword [rbp - 1], xmm0
movups xmmword [rbp + 0xf], xmm0
lea rsi, [rdi + 0x18]
mov rcx, rsi
call fcn.1400913e0
mov rcx, rsi
cmp eax, 0x40
jbe 0x1401e7cbe
call fcn.1400910b0
test rax, rax
je 0x1401e7ce9
mov rcx, rsi
call fcn.1400910b0
mov r8d, 0x40
jmp 0x1401e7cdd
call fcn.1400910b0
test rax, rax
je 0x1401e7ce9
mov rcx, rsi
call fcn.1400913e0
mov edi, eax
mov rcx, rsi
call fcn.1400910b0
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x21]
call fcn.140060e30
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327ef0]
mov dword [rcx], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327ef4]
mov dword [rcx + 4], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327ef8]
mov dword [rcx + 8], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327efc]
mov dword [rcx + 0xc], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327f00]
mov dword [rcx + 0x10], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327f04]
mov dword [rcx + 0x14], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327f08]
mov dword [rcx + 0x18], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327f0c]
mov dword [rcx + 0x1c], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327f10]
mov dword [rcx + 0x20], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327f14]
mov dword [rcx + 0x24], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327f18]
mov dword [rcx + 0x28], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327f1c]
mov dword [rcx + 0x2c], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327f20]
mov dword [rcx + 0x30], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327f24]
mov dword [rcx + 0x34], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327f28]
mov dword [rcx + 0x38], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327f2c]
mov dword [rcx + 0x3c], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327f30]
mov dword [rcx + 0x40], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x140327f34]
mov dword [rcx + 0x44], eax
lea r15, [0x140327f44]
mov r10d, 8
sub r10, r15
mov esi, reloc.WS2_32.dll_inet_ntoa
mov r11d, esi
sub r11, r15
xor edi, edi
mov r8d, edi
nop dword [rax + rax]
mov r9d, 0x40
nop word [rax + rax]
lea rdx, [r8 + r15]
mov rcx, qword [rbx + 0xb8]
mov eax, dword [rdx - 4]
mov dword [r8 + rcx], eax
mov rcx, qword [rbx + 0xb8]
mov eax, dword [rdx]
mov dword [rcx + r8 + 4], eax
mov rcx, qword [rbx + 0xb8]
add rcx, rdx
mov eax, dword [rdx + 4]
mov dword [rcx + r10], eax
mov rcx, qword [rbx + 0xb8]
add rcx, rdx
mov eax, dword [rdx + 8]
mov dword [rcx + r11], eax
add r8, 0x10
sub r9, 1
jne 0x1401e7e40
cmp r8, 0x1000
jl 0x1401e7e30
mov r10d, edi
nop dword [rax + rax]
mov r9, qword [rbx + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x21]
movsxd rax, r10d
movzx ecx, byte [rbp + rax - 0x21]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
xor dword [r9 + rsi - 0xc], r8d
lea eax, [r10 + 4]
cdq
idiv r14d
movsxd r10, edx
mov r9, qword [rbx + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x21]
movzx ecx, byte [rbp + r10 - 0x21]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
xor dword [r9 + rsi - 8], r8d
lea eax, [r10 + 4]
cdq
idiv r14d
movsxd r10, edx
mov r9, qword [rbx + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x21]
movzx ecx, byte [rbp + r10 - 0x21]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
xor dword [r9 + rsi - 4], r8d
lea eax, [r10 + 4]
cdq
idiv r14d
movsxd r10, edx
mov r9, qword [rbx + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x21]
movzx ecx, byte [rbp + r10 - 0x21]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
xor dword [r9 + rsi], r8d
lea eax, [r10 + 4]
cdq
idiv r14d
movsxd r10, edx
mov r9, qword [rbx + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x21]
movzx ecx, byte [rbp + r10 - 0x21]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
xor dword [r9 + rsi + 4], r8d
lea eax, [r10 + 4]
cdq
idiv r14d
movsxd r10, edx
mov r9, qword [rbx + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x21]
movzx ecx, byte [rbp + r10 - 0x21]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
xor dword [r9 + rsi + 8], r8d
lea eax, [r10 + 4]
cdq
idiv r14d
movsxd r10, edx
mov r9, qword [rbx + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x21]
movzx ecx, byte [rbp + r10 - 0x21]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
xor dword [r9 + rsi + 0xc], r8d
lea eax, [r10 + 4]
cdq
idiv r14d
movsxd r10, edx
mov r9, qword [rbx + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x21]
movzx ecx, byte [rbp + r10 - 0x21]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
xor dword [r9 + rsi + 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 - 0x21]
movzx ecx, byte [rbp + r9 - 0x21]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r9 + 2]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
shl r8d, 8
lea eax, [r9 + 3]
cdq
idiv r14d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x21]
or r8d, ecx
mov rax, qword [rbx + 0xb0]
xor dword [rsi + rax + 0x14], r8d
lea eax, [r9 + 4]
cdq
idiv r14d
mov r10d, edx
add rsi, 0x24
cmp rsi, 0x54
jl 0x1401e7ea0
mov dword [rbp - 0x41], edi
mov dword [rbp - 0x3d], edi
mov rsi, rdi
nop word [rax + rax]
lea r8, [rbp - 0x3d]
lea rdx, [rbp - 0x41]
mov rcx, rbx
call fcn.1401e6810
mov rcx, qword [rbx + 0xb0]
mov eax, dword [rbp - 0x41]
mov dword [rsi + rcx], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [rbp - 0x3d]
mov dword [rsi + rcx + 4], eax
add rsi, 8
cmp rsi, 0x48
jl 0x1401e8230
nop word [rax + rax]
mov esi, 0x80
nop word [rax + rax]
lea r8, [rbp - 0x3d]
lea rdx, [rbp - 0x41]
mov rcx, rbx
call fcn.1401e6810
mov rcx, qword [rbx + 0xb8]
mov eax, dword [rbp - 0x41]
mov dword [rdi + rcx], eax
mov rcx, qword [rbx + 0xb8]
mov eax, dword [rbp - 0x3d]
mov dword [rcx + rdi + 4], eax
add rdi, 8
sub rsi, 1
jne 0x1401e8280
cmp rdi, 0x1000
jl 0x1401e8270
lea rcx, [rbp - 0x39]
call fcn.1400a0e00
mov al, 1
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.1401feb70
mov rbx, qword [rsp + 0xc8]
add rsp, 0x90
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret