Function at 0x401da0
Capabilities:
Access peb ldr_data
Get process heap flags
Initialize winsock library

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x1a8]
push ebx
push ecx
sub esp, 0x218
mov esi, dword [ecx]
mov ebx, dword [ecx + 4]
mov dword [esp + 4], eax
mov dword [esp], 0x202
call dword [sym.imp.ws2_32.dll_WSAStartup]
mov dword [ebp - 0x1dc], eax
sub esp, 8
test eax, eax
jne 0x4021c0
cmp esi, 1
je 0x4022e8
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x40213f
xor edi, edi
cmp word [ecx], 0x2d
jne 0x4023d0
movzx eax, word [ecx + 2]
cmp ax, 0x70
je 0x402238
ja 0x402158
cmp ax, 0x61
je 0x4021e0
cmp ax, 0x65
jne 0x4021f8
mov dword [ebp - 0x1d4], 0x360
mov eax, 0x360
mov esi, dword fs:[0x18]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0xc
mov edi, eax
lea eax, [ebp - 0x1d4]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], edi
call sym._GetIfTable_12
sub esp, 0xc
mov ebx, eax
test eax, eax
jne 0x402188
mov eax, 6
lea esi, [ebp - 0x1ce]
call sym._NETSTAT_load_message
mov dword [esp], eax
call dbg.NETSTAT_wprintf
mov dword [esp], 0x404468
call dbg.NETSTAT_wprintf
mov dword [esp], 0x404468
call dbg.NETSTAT_wprintf
mov eax, 8
call sym._NETSTAT_load_message
mov edx, eax
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [edx + eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401ed0
mov eax, 7
call sym._NETSTAT_load_message
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp], str._____________________________19s__s_n_n
call dbg.NETSTAT_wprintf
mov eax, dword [edi]
mov dword [ebp - 0x204], eax
test eax, eax
je 0x4023e4
xor edx, edx
mov dword [ebp - 0x1fc], ebx
lea eax, [edi + 0x22c]
xor esi, esi
mov dword [ebp - 0x1e0], 0
xor ecx, ecx
mov dword [ebp - 0x1e8], 0
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x200], edx
mov dword [ebp - 0x208], edi
xor edi, edi
lea esi, [esi]
mov edx, dword [eax + 4]
add ecx, 1
mov ebx, dword [eax]
add eax, 0x35c
add dword [ebp - 0x1e4], edx
mov edx, dword [eax - 0x340]
add dword [ebp - 0x1ec], edx
mov edx, dword [eax - 0x354]
add dword [ebp - 0x1f0], edx
mov edx, dword [eax - 0x33c]
add dword [ebp - 0x1f4], edx
mov edx, dword [eax - 0x350]
add dword [ebp - 0x1f8], edx
mov edx, dword [eax - 0x338]
add dword [ebp - 0x1e8], edx
mov edx, dword [eax - 0x34c]
add dword [ebp - 0x1e0], edx
mov edx, dword [ebp - 0x204]
add dword [ebp - 0x1fc], ebx
add esi, dword [eax - 0x344]
mov ebx, dword [eax - 0x348]
add edi, dword [eax - 0x334]
add dword [ebp - 0x200], ebx
cmp ecx, edx
jne 0x401f78
mov dword [ebp - 0x204], edi
mov ebx, dword [ebp - 0x1fc]
mov edi, dword [ebp - 0x208]
mov edx, dword [ebp - 0x200]
mov eax, 9
mov dword [ebp - 0x1fc], edx
call sym._NETSTAT_load_message
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], str.__20s__14lu__15lu_n
call dbg.NETSTAT_wprintf
mov eax, 0xa
call sym._NETSTAT_load_message
mov esi, dword [ebp - 0x1ec]
mov dword [esp + 0xc], esi
mov esi, dword [ebp - 0x1e4]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp], str.__20s__14lu__15lu_n
call dbg.NETSTAT_wprintf
mov eax, 0xb
call sym._NETSTAT_load_message
mov ebx, dword [ebp - 0x1f4]
mov dword [esp + 0xc], ebx
mov esi, dword [ebp - 0x1f0]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp], str.__20s__14lu__15lu_n
call dbg.NETSTAT_wprintf
mov eax, 0xc
call sym._NETSTAT_load_message
mov ebx, dword [ebp - 0x1e8]
mov dword [esp + 0xc], ebx
mov esi, dword [ebp - 0x1f8]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp], str.__20s__14lu__15lu_n
call dbg.NETSTAT_wprintf
mov eax, 0xd
call sym._NETSTAT_load_message
mov ebx, dword [ebp - 0x204]
mov dword [esp + 0xc], ebx
mov esi, dword [ebp - 0x1e0]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp], str.__20s__14lu__15lu_n
call dbg.NETSTAT_wprintf
mov eax, 0xe
call sym._NETSTAT_load_message
mov edx, dword [ebp - 0x1fc]
mov dword [esp], str.__20s__14lu_n_n
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call dbg.NETSTAT_wprintf
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
mov eax, dword [ebp - 0x1dc]
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
cmp ax, 0x73
jne 0x4021f8
mov ecx, dword [ebx + 8]
add ebx, 4
sub esi, 1
mov edi, 1
test ecx, ecx
jne 0x401dfa
call dbg.NETSTAT_tcp_stats
call dbg.NETSTAT_udp_stats
jmp 0x40213f
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
cmp ebx, 0x7a
jne 0x40213f
mov eax, dword [ebp - 0x1d4]
jmp 0x401e42
test byte [0x403004], 2
jne 0x4022a8
mov dword [ebp - 0x1dc], 1
jmp 0x40213f
call dbg.NETSTAT_conn_header
call dbg.NETSTAT_tcp_table
call dbg.NETSTAT_udp_table
jmp 0x40213f
test byte [0x403004], 1
je 0x4021cd
mov eax, ecx
call sym._wine_dbgstr_wn.constprop.0
mov dword [esp + 0xc], str.Unknown_option:__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], global___func__.0
mov dword [esp + 4], global___dbch
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0
jmp 0x4021cd
cmp esi, 2
je 0x4021cd
mov eax, dword [ebx + 8]
mov esi, dword [sym.imp.ucrtbase.dll__wcsicmp]
mov dword [esp + 4], 0x4044dc
mov dword [ebp - 0x1e0], eax
mov dword [esp], eax
call esi
test eax, eax
jne 0x402300
test byte [0x403004], 1
je 0x40213f
mov eax, dword [ebx + 8]
call sym._wine_dbgstr_wn.constprop.0
mov dword [esp + 0xc], str.Protocol_not_yet_implemented:__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], global___func__.0
mov dword [esp + 4], global___dbch
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0
jmp 0x40213f
call dword [sym.imp.ws2_32.dll_WSAGetLastError]
mov dword [esp + 0xc], str.WSAStartup_failed:__d_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], global___func__.0
mov dword [esp + 4], global___dbch
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0
jmp 0x4021cd
test edi, edi
je 0x4022e8
call dbg.NETSTAT_tcp_stats
lea esi, [esi]
call dbg.NETSTAT_conn_header
call dbg.NETSTAT_tcp_table
jmp 0x40213f
mov dword [esp + 4], str.IPv6
mov eax, dword [ebp - 0x1e0]
mov dword [esp], eax
call esi
test eax, eax
je 0x402261
mov dword [esp + 4], str.ICMP
mov eax, dword [ebp - 0x1e0]
mov dword [esp], eax
call esi
test eax, eax
je 0x402261
mov dword [esp + 4], str.ICMPv6
mov eax, dword [ebp - 0x1e0]
mov dword [esp], eax
call esi
test eax, eax
je 0x402261
mov dword [esp + 4], 0x4044ac
mov eax, dword [ebp - 0x1e0]
mov dword [esp], eax
call esi
test eax, eax
je 0x4022db
mov dword [esp + 4], str.TCPv6
mov eax, dword [ebp - 0x1e0]
mov dword [esp], eax
call esi
test eax, eax
je 0x402261
mov dword [esp + 4], 0x404498
mov eax, dword [ebp - 0x1e0]
mov dword [esp], eax
call esi
test eax, eax
je 0x4023b6
mov dword [esp + 4], str.UDPv6
mov eax, dword [ebp - 0x1e0]
mov dword [esp], eax
call esi
jmp 0x402261
test edi, edi
jne 0x4023dd
call dbg.NETSTAT_conn_header
call dbg.NETSTAT_udp_table
jmp 0x40213f
test edi, edi
jne 0x402178
jmp 0x40213f
call dbg.NETSTAT_udp_stats
jmp 0x4023ba
mov dword [ebp - 0x204], 0
xor edx, edx
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1e8], 0
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1e4], 0
jmp 0x402017