Function at 0x14025f040
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 [0x1403dd7c0]
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.1400f6560
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.1400e6840
mov rcx, rsi
cmp eax, 0x40
jbe 0x14025f0de
call fcn.1400e6510
test rax, rax
je 0x14025f109
mov rcx, rsi
call fcn.1400e6510
mov r8d, 0x40
jmp 0x14025f0fd
call fcn.1400e6510
test rax, rax
je 0x14025f109
mov rcx, rsi
call fcn.1400e6840
mov edi, eax
mov rcx, rsi
call fcn.1400e6510
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x21]
call fcn.1400b5b10
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc000]
mov dword [rcx], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc004]
mov dword [rcx + 4], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc008]
mov dword [rcx + 8], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc00c]
mov dword [rcx + 0xc], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc010]
mov dword [rcx + 0x10], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc014]
mov dword [rcx + 0x14], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc018]
mov dword [rcx + 0x18], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc01c]
mov dword [rcx + 0x1c], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc020]
mov dword [rcx + 0x20], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc024]
mov dword [rcx + 0x24], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc028]
mov dword [rcx + 0x28], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc02c]
mov dword [rcx + 0x2c], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc030]
mov dword [rcx + 0x30], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc034]
mov dword [rcx + 0x34], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc038]
mov dword [rcx + 0x38], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc03c]
mov dword [rcx + 0x3c], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc040]
mov dword [rcx + 0x40], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x1403dc044]
mov dword [rcx + 0x44], eax
lea r15, [0x1403dc054]
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 0x14025f260
cmp r8, 0x1000
jl 0x14025f250
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 0x14025f2c0
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.14025dc30
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 0x14025f650
nop word [rax + rax]
mov esi, 0x80
nop word [rax + rax]
lea r8, [rbp - 0x3d]
lea rdx, [rbp - 0x41]
mov rcx, rbx
call fcn.14025dc30
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 0x14025f6a0
cmp rdi, 0x1000
jl 0x14025f690
lea rcx, [rbp - 0x39]
call fcn.1400f6680
mov al, 1
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.140278f40
mov rbx, qword [rsp + 0xc8]
add rsp, 0x90
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret