Function at 0x1801431a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x90
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rdi, r8
mov rbx, rcx
mov rdx, qword [rbp + 0x7f]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x49], xmm0
mov qword [rbp - 0x39], rax
lea r8, str.initCrypt_blowfish
lea rcx, [rbp - 0x49]
call fcn.180029f30
nop
mov eax, dword [rdi + 0x10]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [rbp - 0x51], eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x31], xmm0
movups xmmword [rbp - 0x21], xmm0
movups xmmword [rbp - 0x11], xmm0
movups xmmword [rbp - 1], xmm0
lea rsi, [rdi + 0x18]
mov rcx, rsi
call fcn.18001fd80
mov rcx, rsi
cmp eax, 0x40
jbe 0x180143242
call fcn.18001f920
test rax, rax
je 0x18014326d
mov rcx, rsi
call fcn.18001f920
mov r8d, 0x40
jmp 0x180143261
call fcn.18001f920
test rax, rax
je 0x18014326d
mov rcx, rsi
call fcn.18001fd80
mov edi, eax
mov rcx, rsi
call fcn.18001f920
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x31]
call fcn.180018e10
xor edi, edi
mov r9d, edi
lea r13, [0x1802d9184]
mov r11d, 8
mov r10d, r11d
sub r10, r13
mov r12d, reloc.WS2_32.dll_inet_ntoa
mov esi, r12d
sub rsi, r13
mov r14d, reloc.WS2_32.dll_recv
sub r14, r13
mov r15d, shutdown
sub r15, r13
nop dword [rax]
nop word [rax + rax]
lea r8, [r9 + r13]
mov rcx, qword [rbx + 0xb0]
mov eax, dword [r8 - 4]
mov dword [r9 + rcx], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [r8]
mov dword [r9 + rcx + 4], eax
lea rdx, [r10 + r8]
mov rcx, qword [rbx + 0xb0]
mov eax, dword [r8 + 4]
mov dword [rdx + rcx], eax
lea rdx, [rsi + r8]
mov rcx, qword [rbx + 0xb0]
mov eax, dword [r8 + 8]
mov dword [rdx + rcx], eax
lea rdx, [r14 + r8]
mov rcx, qword [rbx + 0xb0]
mov eax, dword [r8 + 0xc]
mov dword [rdx + rcx], eax
lea rdx, [r15 + r8]
mov rcx, qword [rbx + 0xb0]
mov eax, dword [r8 + 0x10]
mov dword [rdx + rcx], eax
add r9, 0x18
cmp r9, 0x48
jl 0x1801432b0
lea r14, [0x1802d91d4]
sub r11, r14
mov rsi, r12
sub rsi, r14
mov r9, rdi
mov r13d, dword [rbp - 0x51]
nop dword [rax + rax]
mov r10d, 0x40
nop word [rax + rax]
lea r8, [r9 + r14]
mov rcx, qword [rbx + 0xb8]
mov eax, dword [r8 - 4]
mov dword [r9 + rcx], eax
mov rcx, qword [rbx + 0xb8]
mov eax, dword [r8]
mov dword [r9 + rcx + 4], eax
lea rdx, [r11 + r8]
mov rcx, qword [rbx + 0xb8]
mov eax, dword [r8 + 4]
mov dword [rdx + rcx], eax
lea rdx, [rsi + r8]
mov rcx, qword [rbx + 0xb8]
mov eax, dword [r8 + 8]
mov dword [rdx + rcx], eax
add r9, 0x10
sub r10, 1
jne 0x180143350
cmp r9, 0x1000
jl 0x180143340
mov r10d, edi
nop dword [rax]
mov r9, qword [rbx + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r13d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x31]
movsxd rax, r10d
movzx ecx, byte [rbp + rax - 0x31]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
xor dword [r9 + r12 - 0xc], r8d
lea eax, [r10 + 4]
cdq
idiv r13d
movsxd r10, edx
mov r9, qword [rbx + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r13d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x31]
movzx ecx, byte [rbp + r10 - 0x31]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
xor dword [r9 + r12 - 8], r8d
lea eax, [r10 + 4]
cdq
idiv r13d
movsxd r10, edx
mov r9, qword [rbx + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r13d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x31]
movzx ecx, byte [rbp + r10 - 0x31]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
xor dword [r9 + r12 - 4], r8d
lea eax, [r10 + 4]
cdq
idiv r13d
movsxd r10, edx
mov r9, qword [rbx + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r13d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x31]
movzx ecx, byte [rbp + r10 - 0x31]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
xor dword [r9 + r12], r8d
lea eax, [r10 + 4]
cdq
idiv r13d
movsxd r10, edx
mov r9, qword [rbx + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r13d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x31]
movzx ecx, byte [rbp + r10 - 0x31]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
xor dword [r9 + r12 + 4], r8d
lea eax, [r10 + 4]
cdq
idiv r13d
movsxd r10, edx
mov r9, qword [rbx + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r13d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x31]
movzx ecx, byte [rbp + r10 - 0x31]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
xor dword [r9 + r12 + 8], r8d
lea eax, [r10 + 4]
cdq
idiv r13d
movsxd r10, edx
mov r9, qword [rbx + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r13d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x31]
movzx ecx, byte [rbp + r10 - 0x31]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
xor dword [r9 + r12 + 0xc], r8d
lea eax, [r10 + 4]
cdq
idiv r13d
movsxd r10, edx
mov r9, qword [rbx + 0xb0]
lea eax, [r10 + 1]
cdq
idiv r13d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x31]
movzx ecx, byte [rbp + r10 - 0x31]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 2]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
shl r8d, 8
lea eax, [r10 + 3]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
xor dword [r9 + r12 + 0x10], r8d
lea eax, [r10 + 4]
cdq
idiv r13d
movsxd r9, edx
lea eax, [r9 + 1]
cdq
idiv r13d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x31]
movzx ecx, byte [rbp + r9 - 0x31]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r9 + 2]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
shl r8d, 8
lea eax, [r9 + 3]
cdq
idiv r13d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
mov rax, qword [rbx + 0xb0]
xor dword [r12 + rax + 0x14], r8d
lea eax, [r9 + 4]
cdq
idiv r13d
mov r10d, edx
add r12, 0x24
cmp r12, 0x54
jl 0x1801433b0
mov dword [rbp - 0x4d], edi
mov dword [rbp - 0x51], edi
mov rsi, rdi
nop word [rax + rax]
lea r8, [rbp - 0x51]
lea rdx, [rbp - 0x4d]
mov rcx, rbx
call fcn.180146300
mov rcx, qword [rbx + 0xb0]
mov eax, dword [rbp - 0x4d]
mov dword [rsi + rcx], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [rbp - 0x51]
mov dword [rsi + rcx + 4], eax
add rsi, 8
cmp rsi, 0x48
jl 0x180143740
nop word [rax + rax]
mov esi, 0x80
nop word [rax + rax]
lea r8, [rbp - 0x51]
lea rdx, [rbp - 0x4d]
mov rcx, rbx
call fcn.180146300
mov rcx, qword [rbx + 0xb8]
mov eax, dword [rbp - 0x4d]
mov dword [rdi + rcx], eax
mov rcx, qword [rbx + 0xb8]
mov eax, dword [rbp - 0x51]
mov dword [rdi + rcx + 4], eax
add rdi, 8
sub rsi, 1
jne 0x180143790
cmp rdi, 0x1000
jl 0x180143780
lea rcx, [rbp - 0x49]
call fcn.18002a0e0
mov al, 1
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.180009610
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret