Function at 0x14002e640
Capabilities:
Encode data using xor

Disassembly:
mov eax, gethostname
call fcn.140095dd0
sub rsp, rax
cmp dword [rsp + 0x68], 0
je 0x14002d819
lea rax, [0x14002c010]
mov qword [rsp + 0x68], rax
add rsp, 0x38
jmp 0x14002e8f0
lea rax, [0x14002ba20]
mov qword [rsp + 0x68], rax
add rsp, 0x38
jmp 0x14002e640
test r8, r8
je 0x14002e8e7
push rbx
push rsi
push rdi
push r12
push r13
push r15
mov eax, 0x68
call fcn.140095dd0
sub rsp, rax
mov rax, qword [0x1400fe158]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov r15, qword [rsp + 0xc0]
mov r12, r9
mov r13, qword [rsp + 0xc8]
mov rdi, r8
mov qword [rsp + 0xb0], rbp
mov rbx, rdx
mov qword [rsp + 0x60], r14
mov rsi, rcx
cmp rcx, rdx
je 0x14002e6e8
mov r14, r15
cmp r8, 0x10
jb 0x14002e6de
mov rbp, r8
shr rbp, 4
imul rax, rbp, 0xfffffffffffffff0
add rdi, rax
mov r8, r12
mov rdx, rbx
mov rcx, rsi
call r13
mov rax, qword [r14]
xor qword [rbx], rax
mov rax, qword [r14 + 8]
mov r14, rsi
xor qword [rbx + 8], rax
add rsi, 0x10
add rbx, 0x10
sub rbp, 1
jne 0x14002e6b3
movups xmm0, xmmword [r14]
movups xmmword [r15], xmm0
jmp 0x14002e742
cmp rdi, 0x10
jb 0x14002e74b
mov rbp, rdi
shr rbp, 4
imul rax, rbp, 0xfffffffffffffff0
add rdi, rax
nop dword [rax]
mov r8, r12
lea rdx, [rsp + 0x48]
mov rcx, rsi
call r13
mov rcx, qword [rsi]
mov rax, qword [r15]
xor rax, qword [rsp + 0x48]
mov qword [rbx], rax
mov rax, qword [rsp + 0x50]
xor rax, qword [r15 + 8]
mov qword [r15], rcx
mov rcx, qword [rsi + 8]
add rsi, 0x10
mov qword [rbx + 8], rax
add rbx, 0x10
mov qword [r15 + 8], rcx
sub rbp, 1
jne 0x14002e700
test rdi, rdi
je 0x14002e8c0
lea rax, [rsp + 0x48]
mov rbp, rsi
sub rax, r15
lea r14, [rsp + 0x4a]
mov qword [rsp + 0x28], rax
sub rbp, r15
dec rax
sub r14, r15
mov qword [rsp + 0x20], rax
add rbp, 2
mov eax, 1
sub rbx, r15
sub rax, r15
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x49]
sub rax, r15
mov qword [rsp + 0x38], rax
mov eax, 2
sub rax, r15
mov qword [rsp + 0x40], rax
add rbx, 2
mov r8, r12
lea rdx, [rsp + 0x48]
mov rcx, rsi
call r13
mov r10, rsi
lea rcx, [r15 - 2]
sub r10, rcx
lea rax, [r15 + 1]
xor r9d, r9d
sub r10, rbx
cmp r9, rdi
jae 0x14002e870
mov rcx, qword [rsp + 0x20]
movzx edx, byte [rax + rbp - 3]
movzx ecx, byte [rax + rcx]
xor cl, byte [rax - 1]
mov byte [rax + rbx - 3], cl
mov rcx, rax
sub rcx, r15
mov byte [rax - 1], dl
cmp rcx, rdi
jae 0x14002e86d
mov rcx, qword [rsp + 0x28]
lea rdx, [rax + rbx]
movzx r8d, byte [r10 + rdx - 2]
movzx ecx, byte [rax + rcx]
xor cl, byte [rax]
mov byte [rdx - 2], cl
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov byte [rax], r8b
cmp rcx, rdi
jae 0x14002e867
mov rcx, qword [rsp + 0x38]
movzx edx, byte [rax + rbp - 1]
movzx ecx, byte [rax + rcx]
xor cl, byte [rax + 1]
mov byte [rax + rbx - 1], cl
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov byte [rax + 1], dl
cmp rcx, rdi
jae 0x14002e861
movzx edx, byte [rax + rbp]
add r9, 4
movzx ecx, byte [rax + r14]
xor cl, byte [rax + 2]
mov byte [rax + rbx], cl
mov byte [rax + 2], dl
add rax, 4
cmp r9, 0x10
jb 0x14002e7c2
jmp 0x14002e870
add r9, 3
jmp 0x14002e870
add r9, 2
jmp 0x14002e870
inc r9
cmp rdi, 0x10
jbe 0x14002e88e
add rsi, 0x10
add rbp, 0x10
add rbx, 0x10
sub rdi, 0x10
jne 0x14002e7a0
jmp 0x14002e8c0
cmp r9, 0x10
jae 0x14002e8c0
sub rsi, r15
lea rcx, [r15 + r9]
mov edx, reloc.WS2_32.dll_recv
sub rdx, r9
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + rsi]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14002e8b0
mov rbp, qword [rsp + 0xb0]
mov r14, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400951e0
add rsp, 0x68
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test r8, r8
je 0x14002eab6
push rbx
push rsi
push rdi
push r12
push r13
mov eax, reloc.WLDAP32.dll_Ordinal_32
call fcn.140095dd0
sub rsp, rax
mov r13, qword [rsp + 0x70]
mov r12, r9
mov qword [rsp + 0x60], r15
mov r10, r13
mov r15, qword [rsp + 0x78]
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
cmp r8, 0x10
jb 0x14002e9a0
mov qword [rsp + 0x50], rbp
mov rbp, r8
shr rbp, 4
imul rax, rbp, 0xfffffffffffffff0
add rdi, rax
sub r10, rsi
mov r8, rbx
sub r8, rsi
mov rax, rsi
mov edx, 2
nop word [rax + rax]
mov rcx, qword [r10 + rax]
xor rcx, qword [rax]
mov qword [r8 + rax], rcx
lea rax, [rax + 8]
sub rdx, 1
jne 0x14002e960
mov r8, r12
mov rdx, rbx
mov rcx, rbx
call r15
mov r10, rbx
add rsi, 0x10
add rbx, 0x10
sub rbp, 1
jne 0x14002e944
mov rbp, qword [rsp + 0x50]
test rdi, rdi
je 0x14002ea9d
mov qword [rsp + 0x58], r14
nop word [rax + rax]
mov r8, r10
lea rcx, [rsi + 1]
mov r9, rbx
mov r11d, 1
sub r8, rsi
sub r9, rsi
sub r11, rsi
xor edx, edx
mov r14d, 2
sub r14, rsi
cmp rdx, rdi
jae 0x14002ea50
movzx eax, byte [r8 + rcx - 1]
xor al, byte [rcx - 1]
mov byte [r9 + rcx - 1], al
mov rax, rcx
sub rax, rsi
cmp rax, rdi
jae 0x14002ea47
movzx eax, byte [rcx + r8]
xor al, byte [rcx]
mov byte [rcx + r9], al
lea rax, [r11 + rcx]
cmp rax, rdi
jae 0x14002ea41
movzx eax, byte [r8 + rcx + 1]
xor al, byte [rcx + 1]
mov byte [r9 + rcx + 1], al
lea rax, [r14 + rcx]
cmp rax, rdi
jae 0x14002ea3b
movzx eax, byte [r8 + rcx + 2]
add rdx, 4
xor al, byte [rcx + 2]
mov byte [r9 + rcx + 2], al
add rcx, 4
cmp rdx, 0x10
jb 0x14002e9d4
jmp 0x14002ea71
add rdx, 3
jmp 0x14002ea4a
add rdx, 2
jmp 0x14002ea4a
inc rdx
cmp rdx, 0x10
jae 0x14002ea71
sub r10, rbx
lea rcx, [rdx + rbx]
mov r8d, reloc.WS2_32.dll_recv
sub r8, rdx
movzx eax, byte [r10 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x14002ea60
mov r8, r12
mov rdx, rbx
mov rcx, rbx
call r15
mov r10, rbx
cmp rdi, 0x10
jbe 0x14002ea98
add rsi, 0x10
add rbx, 0x10
sub rdi, 0x10
jne 0x14002e9b0
mov r14, qword [rsp + 0x58]
movups xmm0, xmmword [r10]
mov r15, qword [rsp + 0x60]
movups xmmword [r13], xmm0
add rsp, 0x20
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret