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

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0x57]
sub rsp, 0xa0
mov qword [rbp - 0x39], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x18036d060]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rdi, r8
mov rbx, rcx
mov rdx, qword [rbp + 0x7f]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x31], xmm0
mov qword [rbp - 0x21], rax
lea r8, str.initCrypt_blowfish
lea rcx, [rbp - 0x31]
call fcn.180105b50
nop
mov eax, dword [rdi + 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, [rdi + 0x18]
mov rcx, rsi
call fcn.1800be430
mov rcx, rsi
cmp eax, 0x40
jbe 0x1801f4d98
call fcn.1800bdfb0
test rax, rax
je 0x1801f4dc3
mov rcx, rsi
call fcn.1800bdfb0
mov r8d, 0x40
jmp 0x1801f4db7
call fcn.1800bdfb0
test rax, rax
je 0x1801f4dc3
mov rcx, rsi
call fcn.1800be430
mov edi, eax
mov rcx, rsi
call fcn.1800bdfb0
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x11]
call fcn.1800da940
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f30]
mov dword [rcx], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f34]
mov dword [rcx + 4], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f38]
mov dword [rcx + 8], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f3c]
mov dword [rcx + 0xc], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f40]
mov dword [rcx + 0x10], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f44]
mov dword [rcx + 0x14], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f48]
mov dword [rcx + 0x18], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f4c]
mov dword [rcx + 0x1c], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f50]
mov dword [rcx + 0x20], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f54]
mov dword [rcx + 0x24], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f58]
mov dword [rcx + 0x28], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f5c]
mov dword [rcx + 0x2c], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f60]
mov dword [rcx + 0x30], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f64]
mov dword [rcx + 0x34], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f68]
mov dword [rcx + 0x38], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f6c]
mov dword [rcx + 0x3c], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f70]
mov dword [rcx + 0x40], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x180379f74]
mov dword [rcx + 0x44], eax
lea rsi, [0x180379f84]
mov r11d, 8
sub r11, rsi
xor edi, edi
mov r8d, edi
nop word [rax + rax]
lea r9, [r8 + 0xc]
mov r10d, 0x40
nop word [rax + rax]
lea rdx, [r8 + rsi]
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, r11
mov eax, dword [rdx + 4]
mov dword [rcx + rdx], eax
mov rcx, qword [rbx + 0xb8]
mov eax, dword [rdx + 8]
mov dword [r9 + rcx], eax
add r8, 0x10
lea r9, [r9 + 0x10]
sub r10, 1
jne 0x1801f4f10
cmp r8, 0x1000
jl 0x1801f4f00
mov r10d, edi
mov r11d, reloc.WS2_32.dll_inet_ntoa
nop
mov r9, qword [rbx + 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 [rbx + 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 [rbx + 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 [rbx + 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 [rbx + 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 [rbx + 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 [rbx + 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 [rbx + 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 [rbx + 0xb0]
xor dword [r11 + rax + 0x14], r8d
lea eax, [r9 + 4]
cdq
idiv r14d
mov r10d, edx
add r11, 0x24
cmp r11, 0x54
jl 0x1801f4f70
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.1801f38f0
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 0x1801f5300
nop word [rax + rax]
mov esi, pe_nt_image_headers64
nop word [rax + rax]
lea r8, [rbp - 0x3d]
lea rdx, [rbp - 0x41]
mov rcx, rbx
call fcn.1801f38f0
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 [rdi + rcx + 4], eax
add rdi, 8
sub rsi, 1
jne 0x1801f5350
cmp rdi, 0x1000
jl 0x1801f5340
lea rcx, [rbp - 0x31]
call fcn.180105c80
mov al, 1
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.18007b140
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret