Function at 0x1400170c0
Capabilities:
Create thread
Resume thread
Set socket configuration

Disassembly:
mov rax, rsp
mov byte [rax + 0x10], dl
push rbp
push rsi
push rdi
sub rsp, 0x70
mov qword [rax - 0x58], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rsi, rcx
lea rbx, [rcx + 0x15c0]
mov qword [rax + 0x18], rbx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov rax, qword [rsi + 0x4d58]
xor ebp, ebp
cmp byte [rax + 0x39], bpl
je 0x1400171cb
mov rax, qword [rsi + 0xd748]
cmp byte [rax + 0x31f], bpl
jne 0x140017170
cmp qword [rsi + 0x12d8], rbp
jne 0x140017170
mov rcx, qword [rsi + 0x12f8]
test rcx, rcx
je 0x14001712f
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsi + 0x12f8], rbp
lea rax, [rsp + 0x98]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebp
mov r9, rsi
lea r8, [0x1400275d0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsi + 0x12f8], rax
test rax, rax
je 0x140017170
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov edi, ebp
cmp qword [rsi + 0x12d8], rdi
jne 0x14001719b
nop dword [rax + rax]
mov ecx, WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0x32
jg 0x14001719b
cmp qword [rsi + 0x12d8], rbp
je 0x140017180
mov rcx, qword [rsi + 0x12d8]
test rcx, rcx
je 0x1400171cb
lea r8, str.Encryption
mov edx, 0x410
call qword [sym.imp.USER32.dll_SetDlgItemTextA]
mov rcx, qword [rsi + 0x12d8]
test rcx, rcx
je 0x1400171cb
call qword [sym.imp.USER32.dll_UpdateWindow]
mov byte [0x1402babec], 1
cmp qword [rsi + 0x748], 0xffffffffffffffff
jne 0x140017200
cmp byte [rsi + 0x1a3], bpl
je 0x1400171f8
cmp byte [rsi + 0x29d], bpl
je 0x1400171f8
mov rcx, rsi
call fcn.140019d70
jmp 0x140017200
mov rcx, rsi
call fcn.140019940
mov dword [rsp + 0x98], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x98]
mov edx, 6
lea r8d, [rdx - 5]
mov rcx, qword [rsi + 0x748]
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jne 0x14001748e
mov rcx, qword [rsi + 0x5630]
test rcx, rcx
je 0x140017256
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rsi + 0x5630], rbp
mov ecx, 0x78
call fcn.14011b0e4
mov rdi, rax
mov qword [rsp + 0x90], rax
mov ecx, dword [rsi + 0x748]
lea rax, vtable.rdr::FdInStream.0
mov qword [rdi], rax
mov dword [rdi + 0x18], ecx
mov dword [rdi + 0x1c], ebp
mov qword [rdi + 0x20], rbp
mov qword [rdi + 0x28], rbp
mov byte [rdi + 0x30], 0
mov qword [rdi + 0x34], 5
mov qword [rdi + 0x3c], 0x2000
mov ecx, 0x2000
call fcn.14011b4c0
mov qword [rdi + 0x48], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], rax
mov byte [rdi + 0x50], 0
mov byte [rdi + 0x60], 0
mov qword [rdi + 0x64], rbp
mov qword [rdi + 0x70], rbp
mov qword [rsi + 0x5630], rdi
mov rax, qword [rsi + 0x4d58]
movzx ecx, byte [rax + 0x39]
mov byte [rdi + 0x50], cl
mov rcx, rsi
call fcn.140019190
cmp byte [rsi + 0x1a3], 0
je 0x1400172fa
cmp byte [rsi + 0x29d], 0
je 0x1400172fa
mov rcx, rsi
call fcn.14001a670
mov rcx, rsi
call fcn.14001a140
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rbp
lea rdx, [rsp + 0x38]
mov rcx, rsi
call fcn.14001a8b0
mov byte [rsp + 0x98], 0
xor cl, cl
mov rax, qword [rsi + 0xd748]
cmp byte [rax + 0x354], cl
je 0x140017340
mov byte [rsp + 0x98], 1
mov cl, 1
cmp byte [rsi + 0x2ec], 0
je 0x140017353
or cl, 2
mov byte [rsp + 0x98], cl
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [rsp + 0x98]
mov rcx, rsi
call fcn.140026600
cmp byte [rsi + 0x2ec], 0
je 0x1400173f2
mov byte [rsi + 0x2ec], 0
mov rcx, qword [rsi + 0xd748]
mov rdi, 0xffffffffffffffff
mov rax, rdi
nop
inc rax
cmp byte [rcx + rax + 0xa82], 0
jne 0x140017390
mov byte [rsp + 0x90], al
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [rsp + 0x90]
mov rcx, rsi
call fcn.140026600
mov rdx, qword [rsi + 0xd748]
add rdx, 0xa82
nop dword [rax]
inc rdi
cmp byte [rdx + rdi], 0
jne 0x1400173d0
test rdi, rdi
je 0x1400173f2
movzx r8d, byte [rsp + 0x90]
xor r9d, r9d
mov rcx, rsi
call fcn.140026600
mov rcx, rsi
call fcn.14001ee20
mov rcx, rsi
call fcn.14001ff50
mov rcx, rsi
call fcn.140020050
mov eax, dword [rsi + 0x4d4c]
mov dword [rsi + 0xd758], eax
mov byte [0x1402babec], 0
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14001746f
mov rax, qword [rsp + 0x48]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001745c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017488
call fcn.14011b120
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rbp
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0xa8]
add rsp, 0x70
pop rdi
pop rsi
pop rbp
ret
call fcn.14012a3b4
nop
xor r8d, r8d
lea rdx, [0x1402bed10]
lea rcx, [rsp + 0x50]
call fcn.14003d4c0
lea rdx, [0x1401b14d8]
lea rcx, [rsp + 0x50]
call fcn.1401202c4
int3