Function at 0x140140480
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xa0
mov qword [rbp - 0x59], 0xfffffffffffffffe
mov qword [rsp + 0xe8], rbx
mov rax, qword [0x14026be10]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rdi, r8
mov rbx, rcx
mov rdx, qword [rbp + 0x7f]
xor eax, eax
mov qword [rbp - 0x51], rax
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], rax
lea r8, str.initCrypt_blowfish
lea rcx, [rbp - 0x51]
call fcn.140071270
nop
mov eax, dword [rdi + 0x10]
cdq
and edx, 7
lea r12d, [rdx + rax]
sar r12d, 3
xor eax, eax
mov qword [rbp - 0x31], rax
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], rax
mov qword [rbp - 1], rax
mov qword [rbp + 7], rax
lea rsi, [rdi + 0x18]
mov rcx, rsi
call fcn.1400372d0
mov rcx, rsi
cmp eax, 0x40
jbe 0x14014053e
call fcn.140036f60
test rax, rax
je 0x140140569
mov rcx, rsi
call fcn.140036f60
mov r8d, 0x40
jmp 0x14014055d
call fcn.140036f60
test rax, rax
je 0x140140569
mov rcx, rsi
call fcn.1400372d0
mov edi, eax
mov rcx, rsi
call fcn.140036f60
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x31]
call fcn.140032530
xor edi, edi
mov r9d, edi
lea r13, [0x14026ad64]
mov r11d, 8
mov r10d, r11d
sub r10, r13
mov esi, reloc.WS2_32.dll_inet_ntoa
sub rsi, r13
mov r14d, reloc.WS2_32.dll_recv
sub r14, r13
mov r15d, shutdown
sub r15, r13
nop dword [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 0x1401405a0
lea rsi, [0x14026adb4]
sub r11, rsi
mov r8, rdi
lea r9, [r8 + 0xc]
mov r10d, 0x40
nop dword [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 0x140140630
cmp r8, 0x1000
jl 0x140140621
mov r9d, edi
mov r10, rdi
nop dword [rax + rax]
lea eax, [r9 + 1]
cdq
idiv r12d
movsxd rax, edx
movzx r8d, byte [rbp + rax - 0x31]
movsxd rax, r9d
movzx ecx, byte [rbp + rax - 0x31]
shl ecx, 8
or r8d, ecx
shl r8d, 8
lea eax, [r9 + 2]
cdq
idiv r12d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
shl r8d, 8
lea eax, [r9 + 3]
cdq
idiv r12d
movsxd rax, edx
movzx ecx, byte [rbp + rax - 0x31]
or r8d, ecx
mov rax, qword [rbx + 0xb0]
xor dword [r10 + rax], r8d
lea eax, [r9 + 4]
cdq
idiv r12d
mov r9d, edx
add r10, 4
cmp r10, 0x48
jl 0x140140690
mov dword [rbp - 0x61], edi
mov dword [rbp - 0x5d], edi
mov rsi, rdi
nop word [rax + rax]
lea r8, [rbp - 0x5d]
lea rdx, [rbp - 0x61]
mov rcx, rbx
call fcn.14013f710
mov rcx, qword [rbx + 0xb0]
mov eax, dword [rbp - 0x61]
mov dword [rsi + rcx], eax
mov rcx, qword [rbx + 0xb0]
mov eax, dword [rbp - 0x5d]
mov dword [rsi + rcx + 4], eax
add rsi, 8
cmp rsi, 0x48
jl 0x140140710
nop word [rax + rax]
mov esi, pe_nt_image_headers64
nop word [rax + rax]
lea r8, [rbp - 0x5d]
lea rdx, [rbp - 0x61]
mov rcx, rbx
call fcn.14013f710
mov rcx, qword [rbx + 0xb8]
mov eax, dword [rbp - 0x61]
mov dword [rdi + rcx], eax
mov rcx, qword [rbx + 0xb8]
mov eax, dword [rbp - 0x5d]
mov dword [rdi + rcx + 4], eax
add rdi, 8
sub rsi, 1
jne 0x140140760
cmp rdi, 0x1000
jl 0x140140750
lea rcx, [rbp - 0x51]
call fcn.140071380
mov al, 1
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.140168e10
mov rbx, qword [rsp + 0xe8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret