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

Disassembly:
mov qword [rsp + 0x18], rbx
mov byte [rsp + 0x10], dl
push rbp
push rsi
push rdi
sub rsp, 0x80
mov rdi, rcx
lea rsi, [rcx + 0x15c0]
mov qword [rsp + 0x30], rsi
xor ebp, ebp
mov dword [rsp + 0x38], ebp
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov rax, qword [rdi + 0x4d58]
cmp byte [rax + 0x39], bpl
je 0x1400173ac
mov rax, qword [rdi + 0xd748]
cmp byte [rax + 0x31f], bpl
jne 0x14001734f
cmp qword [rdi + 0x12d8], rbp
jne 0x14001734f
mov rcx, qword [rdi + 0x12f8]
test rcx, rcx
je 0x14001730e
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 0x12f8], rbp
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebp
mov r9, rdi
lea r8, [0x1400279e0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rdi + 0x12f8], rax
test rax, rax
je 0x14001734f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov ebx, ebp
cmp qword [rdi + 0x12d8], rbx
jne 0x14001737c
nop word [rax + rax]
mov ecx, WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
cmp ebx, 0x32
jg 0x14001737c
cmp qword [rdi + 0x12d8], 0
je 0x140017360
mov rcx, qword [rdi + 0x12d8]
test rcx, rcx
je 0x1400173ac
lea r8, str.Encryption
mov edx, 0x410
call qword [sym.imp.USER32.dll_SetDlgItemTextA]
mov rcx, qword [rdi + 0x12d8]
test rcx, rcx
je 0x1400173ac
call qword [sym.imp.USER32.dll_UpdateWindow]
mov byte [0x1401ba684], 1
cmp qword [rdi + 0x748], 0xffffffffffffffff
jne 0x1400173e1
cmp byte [rdi + 0x1a3], 0
je 0x1400173d9
cmp byte [rdi + 0x29d], 0
je 0x1400173d9
mov rcx, rdi
call fcn.140019fc0
jmp 0x1400173e1
mov rcx, rdi
call fcn.140019b90
mov dword [rsp + 0xa8], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0xa8]
mov edx, 6
lea r8d, [rdx - 5]
mov rcx, qword [rdi + 0x748]
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jne 0x140017671
mov rcx, qword [rdi + 0x5630]
test rcx, rcx
je 0x140017437
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rdi + 0x5630], rbp
mov ecx, 0x78
call fcn.14011c364
mov rbx, rax
mov qword [rsp + 0xa0], rax
mov ecx, dword [rdi + 0x748]
lea rax, vtable.rdr::FdInStream.0
mov qword [rbx], rax
mov dword [rbx + 0x18], ecx
mov dword [rbx + 0x1c], ebp
mov qword [rbx + 0x20], rbp
mov qword [rbx + 0x28], rbp
mov byte [rbx + 0x30], 0
mov qword [rbx + 0x34], 5
mov qword [rbx + 0x3c], 0x2000
mov ecx, 0x2000
call fcn.14011c740
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], rax
mov byte [rbx + 0x50], 0
mov byte [rbx + 0x60], 0
mov qword [rbx + 0x64], rbp
mov qword [rbx + 0x70], rbp
mov qword [rdi + 0x5630], rbx
mov rax, qword [rdi + 0x4d58]
movzx ecx, byte [rax + 0x39]
mov byte [rbx + 0x50], cl
mov rcx, rdi
call fcn.1400193e0
cmp byte [rdi + 0x1a3], 0
je 0x1400174db
cmp byte [rdi + 0x29d], 0
je 0x1400174db
mov rcx, rdi
call fcn.14001a8b0
mov rcx, rdi
call fcn.14001a390
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbp
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.14001aae0
mov byte [rsp + 0xa8], 0
xor cl, cl
mov rax, qword [rdi + 0xd748]
cmp byte [rax + 0x354], cl
je 0x140017521
mov byte [rsp + 0xa8], 1
mov cl, 1
cmp byte [rdi + 0x2ec], 0
je 0x140017534
or cl, 2
mov byte [rsp + 0xa8], cl
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [rsp + 0xa8]
mov rcx, rdi
call fcn.140026ae0
cmp byte [rdi + 0x2ec], 0
je 0x1400175d2
mov byte [rdi + 0x2ec], 0
mov rcx, qword [rdi + 0xd748]
mov rbx, 0xffffffffffffffff
mov rax, rbx
inc rax
cmp byte [rcx + rax + 0xa82], 0
jne 0x140017570
mov byte [rsp + 0xa0], al
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [rsp + 0xa0]
mov rcx, rdi
call fcn.140026ae0
mov rdx, qword [rdi + 0xd748]
add rdx, 0xa82
nop dword [rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x1400175b0
test rbx, rbx
je 0x1400175d2
movzx r8d, byte [rsp + 0xa0]
xor r9d, r9d
mov rcx, rdi
call fcn.140026ae0
mov rcx, rdi
call fcn.14001ef10
mov rcx, rdi
call fcn.140020050
mov rcx, rdi
call fcn.140020150
mov eax, dword [rdi + 0x4d4c]
mov dword [rdi + 0xd758], eax
mov byte [0x1401ba684], 0
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14001764f
mov rax, qword [rsp + 0x50]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001763c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001766b
call fcn.14011c3a0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbp
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0xb0]
add rsp, 0x80
pop rdi
pop rsi
pop rbp
ret
call fcn.14012d608
nop
xor r8d, r8d
lea rdx, [0x1401be280]
lea rcx, [rsp + 0x58]
call fcn.14003d730
lea rdx, [0x1401b2f78]
lea rcx, [rsp + 0x58]
call fcn.140121974
int3