Function at 0x40ac90
Capabilities:
Create thread
Initialize winsock library

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x418492
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1a8
mov eax, dword [0x420008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x1b4], esi
lea eax, [ebp - 0x1a8]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x40ae57
cmp dword [esi + 0x24], eax
jne 0x40ad33
push 0x384
call fcn.00416902
add esp, 4
mov dword [ebp - 0x1ac], eax
xor ecx, ecx
mov dword [eax], vtable.NetworkInterface.0
mov byte [eax + 4], 0
mov byte [eax + 0x11], 0
mov byte [eax + 0x115], 0
mov byte [eax + 0x125], 0
mov word [eax + 0x176], cx
mov dword [esi + 0x24], eax
mov ecx, dword [esi + 0x20]
test ecx, ecx
jne 0x40aeb5
push 0x14
call fcn.00416902
mov edi, eax
xorps xmm0, xmm0
add esp, 4
mov dword [ebp - 0x1ac], edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi], vtable.CConnectionBroker.0
mov dword [edi + 0xc], esi
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0x10], 0
mov dword [esi + 0x20], edi
mov ecx, dword [edi + 4]
mov dword [edi + 0x10], 0
test ecx, ecx
je 0x40ad99
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [edi + 4], 0
push 0x14
call fcn.00416902
mov ecx, eax
xorps xmm0, xmm0
mov dword [ebp - 0x1b0], ecx
add esp, 4
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.CTcpConnectionManager.0
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx + 0x10], 0
mov eax, dword [edi + 0xc]
mov dword [edi + 4], ecx
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1ac], eax
test ecx, ecx
jne 0x40ae34
push 0x40
call fcn.00416902
mov esi, eax
add esp, 4
mov dword [ebp - 0x1b8], esi
push 0x40
push 0
push esi
mov dword [ebp - 4], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, esi
push dword [ebp - 0x1ac]
call fcn.0040e790
mov esi, dword [ebp - 0x1b4]
mov ecx, eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 4], 0xffffffff
mov dword [eax + 4], ecx
push ecx
call fcn.0040e8d0
test eax, eax
jne 0x40ae79
mov eax, dword [ebp - 0x1b0]
mov eax, dword [eax + 4]
push dword [eax + 4]
push str.Create_TCP_Listener_error_:__s_n
call fcn.004027f0
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004168de
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
push 0
push 0
push edi
push 0x40db20
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [edi + 8], eax
test eax, eax
jne 0x40aeb2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_to_create_tcp_listener_thread:_d_n
call fcn.004027f0
mov ecx, dword [edi + 4]
add esp, 8
call fcn.0040e1a0
jmp 0x40ae57
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx + 4]
or eax, 0xffffffff
test ecx, ecx
je 0x40aecb
mov ecx, dword [ecx + 4]
or eax, eax
test ecx, ecx
je 0x40aecb
mov eax, dword [ecx + 0x3c]
mov dword [esi + 4], eax
mov eax, 1
jmp 0x40ae59