Function at 0x140001780
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov r13, rcx
mov ecx, 0xfe
call fcn.14000ad08
lea rdx, [0x14000d030]
mov rcx, r13
mov qword [rsp + 0x48], 0xfe
mov qword [rsp + 0x40], rax
call fcn.14000acd8
test rax, rax
je 0x140001d20
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x48]
lea r15, [rsp + 0x40]
mov dword [rsp + 0x34], 0
lea r12, [0x14000d032]
nop word cs:[rax + rax]
nop dword [rax]
mov r8, qword [rsp + 0x20]
mov rdx, rdi
mov rcx, r15
call fcn.1400029c0
mov rbx, qword [rsp + 0x40]
cmp rax, 0xffffffffffffffff
je 0x140001ba0
mov rcx, rbx
mov rdx, r12
call fcn.14000ad50
mov byte [rbx + rax], 0
mov rbp, qword [rsp + 0x40]
mov rcx, rbp
call fcn.14000ad68
mov rbx, rax
cmp rax, 0xfd
ja 0x140001b70
cmp rax, 3
jbe 0x1400017f0
mov ecx, 0x40
call fcn.14000ad08
lea ecx, [rbx + 1]
movsxd rcx, ecx
mov r14, rax
call fcn.14000ad08
mov rcx, rbp
mov rsi, rax
call fcn.140001440
test eax, eax
jne 0x140001b88
mov r8, rbx
mov rdx, rbp
mov rcx, rsi
call fcn.14000ad78
mov byte [rsi + rbx], 0
mov rcx, rsi
mov qword [r14], rsi
call fcn.14000ad68
mov r11, rax
cmp eax, 0xb
jbe 0x140001dc5
mov r10d, eax
mov r9, rsi
mov ebp, 0xfeedbeef
mov ecx, 0x9e3779b9
mov r8d, 0x9e3779b9
nop word [rax + rax]
movzx edx, byte [r9 + 5]
movzx eax, byte [r9 + 6]
shl edx, 8
shl eax, 0x10
add edx, eax
movzx eax, byte [r9 + 4]
add edx, eax
movzx eax, byte [r9 + 7]
shl eax, 0x18
add edx, eax
movzx eax, byte [r9 + 9]
add r8d, edx
movzx edx, byte [r9 + 0xa]
shl eax, 8
shl edx, 0x10
add eax, edx
movzx edx, byte [r9 + 8]
add eax, edx
movzx edx, byte [r9 + 0xb]
shl edx, 0x18
add eax, edx
movzx edx, byte [r9 + 2]
add ebp, eax
movzx eax, byte [r9 + 1]
shl edx, 0x10
shl eax, 8
add eax, edx
movzx edx, byte [r9]
add eax, edx
movzx edx, byte [r9 + 3]
shl edx, 0x18
add eax, edx
mov edx, ebp
sub eax, r8d
shr edx, 0xd
sub r8d, ebp
sub eax, ebp
add eax, ecx
xor eax, edx
mov edx, r8d
mov r8d, eax
sub edx, eax
sub ebp, eax
shl r8d, 8
xor r8d, edx
mov edx, ebp
mov ebp, r8d
sub edx, r8d
shr ebp, 0xd
xor ebp, edx
sub eax, r8d
sub r10d, 0xc
add r9, 0xc
mov edx, ebp
sub eax, ebp
sub r8d, ebp
shr edx, 0xc
xor edx, eax
mov eax, edx
sub r8d, edx
sub ebp, edx
shl eax, 0x10
mov ecx, ebp
xor eax, r8d
mov ebp, eax
sub ecx, eax
sub edx, eax
shr ebp, 5
xor ebp, ecx
mov ecx, ebp
sub edx, ebp
sub eax, ebp
shr ecx, 3
xor ecx, edx
mov r8d, ecx
sub eax, ecx
sub ebp, ecx
shl r8d, 0xa
xor r8d, eax
mov eax, ebp
mov ebp, r8d
sub eax, r8d
shr ebp, 0xf
xor ebp, eax
cmp r10d, 0xb
ja 0x1400018b0
lea eax, [rbp + r11]
cmp r10d, 0xb
ja case.0x1400019c6.0
lea rbx, [0x14000d09c]
movsxd rdx, dword [rbx + r10*4]
add rdx, rbx
jmp rdx
movzx edx, byte [r9 + 0xa]
shl edx, 0x18
add eax, edx
movzx edx, byte [r9 + 9]
shl edx, 0x10
add eax, edx
movzx edx, byte [r9 + 8]
shl edx, 8
add eax, edx
movzx edx, byte [r9 + 7]
shl edx, 0x18
add r8d, edx
movzx edx, byte [r9 + 6]
shl edx, 0x10
add r8d, edx
movzx edx, byte [r9 + 5]
shl edx, 8
add r8d, edx
movzx edx, byte [r9 + 4]
add r8d, edx
movzx edx, byte [r9 + 3]
shl edx, 0x18
add ecx, edx
movzx edx, byte [r9 + 2]
shl edx, 0x10
add ecx, edx
movzx edx, byte [r9 + 1]
shl edx, 8
add ecx, edx
movzx edx, byte [r9]
add ecx, edx
lea edx, [r8 + rax]
mov qword [r14 + 0x30], rsi
sub ecx, edx
mov edx, eax
mov dword [r14 + 0x38], r11d
shr edx, 0xd
xor ecx, edx
mov edx, r8d
sub edx, eax
mov r9d, ecx
sub eax, ecx
sub edx, ecx
shl r9d, 8
xor r9d, edx
mov r8d, r9d
sub eax, r9d
sub ecx, r9d
shr r8d, 0xd
mov edx, ecx
xor r8d, eax
mov eax, r9d
mov ecx, r8d
sub edx, r8d
sub eax, r8d
shr ecx, 0xc
xor ecx, edx
mov edx, ecx
sub eax, ecx
sub r8d, ecx
shl edx, 0x10
xor edx, eax
mov eax, edx
sub r8d, edx
sub ecx, edx
shr eax, 5
xor eax, r8d
mov r8d, eax
sub ecx, eax
sub edx, eax
shr r8d, 3
xor ecx, r8d
mov ebp, ecx
sub edx, ecx
sub eax, ecx
shl ebp, 0xa
xor ebp, edx
mov rdx, qword [0x140011030]
sub eax, ebp
shr ebp, 0xf
xor ebp, eax
mov dword [r14 + 0x3c], ebp
test rdx, rdx
je 0x140001d38
mov rax, qword [rdx + 8]
lea rbx, [r14 + 8]
mov qword [r14 + 0x18], 0
mov rcx, qword [rax + 0x18]
movq xmm0, rax
mov r8, rcx
sub r8, qword [rax + 0x20]
movq xmm1, r8
punpcklqdq xmm0, xmm1
movups xmmword [r14 + 8], xmm0
mov r8, qword [rdx + 8]
mov qword [rcx + 0x10], r14
mov qword [rax + 0x18], rbx
mov eax, dword [r8 + 0x10]
lea ecx, [rax + 1]
mov eax, dword [r8 + 8]
lea edx, [rax - 1]
mov rax, qword [r8]
and ebp, edx
mov dword [r8 + 0x10], ecx
shl rbp, 4
add rax, rbp
mov esi, dword [rax + 8]
mov rcx, qword [rax]
lea edx, [rsi + 1]
mov dword [rax + 8], edx
mov qword [r14 + 0x28], rcx
mov qword [r14 + 0x20], 0
test rcx, rcx
je 0x140001b44
mov qword [rcx + 0x18], rbx
mov qword [rax], rbx
mov eax, dword [rax + 0xc]
lea eax, [rax + rax*4 + 5]
add eax, eax
cmp edx, eax
jb 0x140001b63
mov rbx, qword [r14 + 8]
mov eax, dword [rbx + 0x34]
test eax, eax
je 0x140001bf0
add dword [rsp + 0x34], 1
jmp 0x1400017f0
mov rdx, rbp
lea rcx, str.WARNING:_host__s_exceeds_maximum_host_length_and_has_not_been_added_n
call fcn.140001730
jmp 0x1400017f0
mov rcx, r14
call fcn.14000acf0
mov rcx, rsi
call fcn.14000acf0
jmp 0x1400017f0
mov rcx, rbx
mov rsi, qword [rsp + 0x20]
call fcn.14000acf0
cmp qword [0x140011030], 0
je 0x140001d20
mov edx, dword [rsp + 0x34]
mov r8, r13
lea rcx, str.Loaded__d_hosts_from_file__s_n
call fcn.140001730
mov rcx, rsi
call fcn.14000acc0
mov eax, 1
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rbx + 8]
mov edx, 1
lea ecx, [rax + rax]
shl rcx, 4
call fcn.14000aca8
mov rbp, rax
test rax, rax
je 0x140001de0
mov eax, dword [rbx + 8]
mov edx, dword [rbx + 0x10]
mov dword [rbx + 0x2c], 0
mov esi, dword [rbx + 0xc]
lea r11d, [rax + rax - 1]
mov r10d, edx
lea ecx, [rsi + 1]
and edx, r11d
mov rsi, qword [rbx]
shr r10d, cl
cmp edx, 1
sbb r10d, 0xffffffff
mov dword [rbx + 0x28], r10d
test eax, eax
je 0x140001cd5
mov qword [rsp + 0x38], r14
shl rax, 4
mov r8, rsi
lea rcx, [rax + rsi]
nop word [rax + rax]
mov r14, qword [r8]
test r14, r14
je 0x140001cc7
mov qword [rsp + 0x28], r8
nop dword [rax]
mov r9, r14
mov r8d, r11d
mov r14, qword [r14 + 0x20]
and r8d, dword [r9 + 0x34]
shl r8, 4
add r8, rbp
mov eax, dword [r8 + 8]
add eax, 1
mov dword [r8 + 8], eax
cmp r10d, eax
jae 0x140001ca2
xor edx, edx
add dword [rbx + 0x2c], 1
div r10d
mov dword [r8 + 0xc], eax
mov rax, qword [r8]
mov qword [r9 + 0x18], 0
mov qword [r9 + 0x20], rax
test rax, rax
je 0x140001cba
mov qword [rax + 0x18], r9
mov qword [r8], r9
test r14, r14
jne 0x140001c70
mov r8, qword [rsp + 0x28]
add r8, 0x10
cmp r8, rcx
jne 0x140001c60
mov r14, qword [rsp + 0x38]
mov rcx, rsi
call fcn.14000acf0
mov rax, qword [r14 + 8]
mov edx, dword [rax + 0x10]
add dword [rax + 0xc], 1
mov qword [rax], rbp
shl dword [rax + 8], 1
shr edx, 1
cmp edx, dword [rax + 0x2c]
jae 0x140001d27
mov esi, dword [rax + 0x30]
lea edx, [rsi + 1]
mov dword [rax + 0x30], edx
cmp edx, 1
jbe 0x140001b63
add dword [rsp + 0x34], 1
mov dword [rax + 0x34], 1
jmp 0x1400017f0
xor eax, eax
jmp 0x140001bdb
add dword [rsp + 0x34], 1
mov dword [rax + 0x30], 0
jmp 0x1400017f0
pxor xmm0, xmm0
mov ecx, 0x40
movups xmmword [r14 + 0x10], xmm0
call fcn.14000ad08
mov qword [r14 + 8], rax
mov r8, rax
test rax, rax
je 0x140001de0
pxor xmm0, xmm0
lea rbx, [r14 + 8]
mov edx, 1
mov ecx, 0x200
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov qword [rax + 0x18], rbx
movups xmmword [rax + 0x30], xmm0
mov rax, qword [0x14000d0d0]
mov qword [r8 + 0x20], 8
mov qword [r8 + 8], rax
mov qword [rsp + 0x28], r8
call fcn.14000aca8
mov r8, qword [rsp + 0x28]
mov qword [r8], rax
mov dword [r8 + 0x38], 0xa0111fe1
test rax, rax
je 0x140001de0
mov qword [0x140011030], r14
mov edx, 0x1f
mov ecx, 1
jmp 0x140001b16
mov r10d, eax
mov r9, rsi
mov ebp, 0xfeedbeef
mov ecx, 0x9e3779b9
mov r8d, 0x9e3779b9
jmp 0x1400019ad
or ecx, 0xffffffff
call fcn.14000acb8
nop
nop dword [rax]