Function at 0x14023c7b0
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 [0x14037d7c0]
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.1400d0c20
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.1400c0f00
mov rcx, rsi
cmp eax, 0x40
jbe 0x14023c84e
call fcn.1400c0bd0
test rax, rax
je 0x14023c879
mov rcx, rsi
call fcn.1400c0bd0
mov r8d, 0x40
jmp 0x14023c86d
call fcn.1400c0bd0
test rax, rax
je 0x14023c879
mov rcx, rsi
call fcn.1400c0f00
mov edi, eax
mov rcx, rsi
call fcn.1400c0bd0
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x21]
call fcn.14008ed60
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c010]
mov dword [rcx], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c014]
mov dword [rcx + 4], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c018]
mov dword [rcx + 8], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c01c]
mov dword [rcx + 0xc], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c020]
mov dword [rcx + 0x10], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c024]
mov dword [rcx + 0x14], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c028]
mov dword [rcx + 0x18], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c02c]
mov dword [rcx + 0x1c], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c030]
mov dword [rcx + 0x20], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c034]
mov dword [rcx + 0x24], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c038]
mov dword [rcx + 0x28], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c03c]
mov dword [rcx + 0x2c], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c040]
mov dword [rcx + 0x30], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c044]
mov dword [rcx + 0x34], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c048]
mov dword [rcx + 0x38], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c04c]
mov dword [rcx + 0x3c], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c050]
mov dword [rcx + 0x40], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [0x14037c054]
mov dword [rcx + 0x44], eax
lea r15, [0x14037c064]
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 0x14023c9d0
cmp r8, 0x1000
jl 0x14023c9c0
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 0x14023ca30
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.14023b3a0
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 0x14023cdc0
nop word [rax + rax]
mov esi, 0x80
nop word [rax + rax]
lea r8, [rbp - 0x3d]
lea rdx, [rbp - 0x41]
mov rcx, rbx
call fcn.14023b3a0
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 0x14023ce10
cmp rdi, 0x1000
jl 0x14023ce00
lea rcx, [rbp - 0x39]
call fcn.1400d0d40
mov al, 1
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.1402577a0
mov rbx, qword [rsp + 0xc8]
add rsp, 0x90
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret