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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x19c]
push ebx
sub esp, 0x200
mov dword [esp + 4], eax
mov dword [esp], 0x202
call dword [sym.imp.ws2_32.dll_WSAStartup]
sub esp, 8
test eax, eax
jne 0x402270
cmp dword [ebp + 8], 1
mov edi, eax
je 0x4023ab
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4021f3
xor ebx, ebx
cmp word [ecx], 0x2d
jne 0x4024a0
movzx eax, word [ecx + 2]
cmp ax, 0x70
je 0x402330
ja 0x402200
cmp ax, 0x61
je 0x4022c0
cmp ax, 0x65
jne 0x4022e0
mov dword [ebp - 0x1c8], 0x360
mov eax, 0x360
mov dword [ebp - 0x1cc], edi
mov esi, dword fs:[0x18]
mov edi, esi
lea esi, [esi]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0xc
mov esi, eax
lea eax, [ebp - 0x1c8]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.iphlpapi.dll_GetIfTable]
sub esp, 0xc
mov ebx, eax
test eax, eax
jne 0x402238
mov eax, 6
mov dword [ebp - 0x1f4], esi
mov edi, dword [ebp - 0x1cc]
lea esi, [ebp - 0x1c2]
call sym._NETSTAT_load_message
mov dword [esp], eax
call sym._NETSTAT_wprintf
mov dword [esp], 0x405468
call sym._NETSTAT_wprintf
mov dword [esp], 0x405468
call sym._NETSTAT_wprintf
mov eax, 8
call sym._NETSTAT_load_message
mov edx, eax
xor eax, eax
lea esi, [esi]
movzx ecx, word [edx + eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x401f78
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 sym._NETSTAT_wprintf
mov esi, dword [ebp - 0x1f4]
mov eax, dword [esi]
mov dword [ebp - 0x1f0], eax
test eax, eax
je 0x4024b4
xor edx, edx
mov dword [ebp - 0x1e8], ebx
lea eax, [esi + 0x22c]
xor ecx, ecx
mov dword [ebp - 0x1cc], 0
xor esi, esi
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1ec], edx
mov dword [ebp - 0x1f8], edi
xor edi, edi
lea esi, [esi]
mov ebx, dword [eax]
mov edx, dword [eax + 4]
add ecx, 1
add eax, 0x35c
add dword [ebp - 0x1e8], ebx
add esi, dword [eax - 0x344]
mov ebx, dword [eax - 0x348]
add dword [ebp - 0x1d0], edx
add edi, dword [eax - 0x334]
mov edx, dword [eax - 0x340]
add dword [ebp - 0x1ec], ebx
add dword [ebp - 0x1d4], edx
mov edx, dword [eax - 0x354]
add dword [ebp - 0x1d8], edx
mov edx, dword [eax - 0x33c]
add dword [ebp - 0x1dc], edx
mov edx, dword [eax - 0x350]
add dword [ebp - 0x1e0], edx
mov edx, dword [eax - 0x338]
add dword [ebp - 0x1e4], edx
mov edx, dword [eax - 0x34c]
add dword [ebp - 0x1cc], edx
cmp ecx, dword [ebp - 0x1f0]
jne 0x402028
mov dword [ebp - 0x1f0], edi
mov ebx, dword [ebp - 0x1e8]
mov edx, dword [ebp - 0x1ec]
mov edi, dword [ebp - 0x1f8]
mov eax, 9
mov dword [ebp - 0x1e8], 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 sym._NETSTAT_wprintf
mov eax, 0xa
call sym._NETSTAT_load_message
mov esi, dword [ebp - 0x1d4]
mov dword [esp], str.__20s__14lu__15lu_n
mov dword [esp + 4], eax
mov dword [esp + 0xc], esi
mov esi, dword [ebp - 0x1d0]
mov dword [esp + 8], esi
call sym._NETSTAT_wprintf
mov eax, 0xb
call sym._NETSTAT_load_message
mov esi, dword [ebp - 0x1dc]
mov dword [esp], str.__20s__14lu__15lu_n
mov dword [esp + 4], eax
mov dword [esp + 0xc], esi
mov esi, dword [ebp - 0x1d8]
mov dword [esp + 8], esi
call sym._NETSTAT_wprintf
mov eax, 0xc
call sym._NETSTAT_load_message
mov esi, dword [ebp - 0x1e4]
mov dword [esp], str.__20s__14lu__15lu_n
mov dword [esp + 4], eax
mov dword [esp + 0xc], esi
mov esi, dword [ebp - 0x1e0]
mov dword [esp + 8], esi
call sym._NETSTAT_wprintf
mov eax, 0xd
call sym._NETSTAT_load_message
mov ebx, dword [ebp - 0x1f0]
mov esi, dword [ebp - 0x1cc]
mov dword [esp], str.__20s__14lu__15lu_n
mov dword [esp + 4], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
call sym._NETSTAT_wprintf
mov eax, 0xe
call sym._NETSTAT_load_message
mov edx, dword [ebp - 0x1e8]
mov dword [esp], str.__20s__14lu_n_n
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym._NETSTAT_wprintf
mov ebx, dword [ebp - 0x1f4]
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov dword [esp + 8], ebx
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ax, 0x73
jne 0x4022e0
add dword [ebp + 0xc], 4
mov eax, dword [ebp + 0xc]
mov ebx, 1
sub dword [ebp + 8], 1
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x401e8a
call sym._NETSTAT_tcp_stats
call sym._NETSTAT_udp_stats
jmp 0x4021f3
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
cmp ebx, 0x7a
jne 0x40250f
mov eax, dword [ebp - 0x1c8]
jmp 0x401ee0
mov edi, 1
test byte [0x404004], 2
je 0x4021f3
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], str.wmain
mov dword [esp + 4], 0x404004
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
call sym._NETSTAT_conn_header
call sym._NETSTAT_tcp_table
call sym._NETSTAT_udp_table
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, 1
test byte [0x404004], 1
je 0x4021f3
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], str.wmain
mov dword [esp + 4], 0x404004
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0
jmp 0x4021f3
cmp dword [ebp + 8], 2
je 0x402478
mov eax, dword [ebp + 0xc]
mov esi, dword [sym.imp.ucrtbase.dll__wcsicmp]
mov eax, dword [eax + 8]
mov dword [esp + 4], 0x4054dc
mov dword [ebp - 0x1cc], eax
mov dword [esp], eax
call esi
test eax, eax
jne 0x4023c0
test byte [0x404004], 1
je 0x4021f3
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 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], str.wmain
mov dword [esp + 4], 0x404004
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0
jmp 0x4021f3
test ebx, ebx
je 0x4023ab
call sym._NETSTAT_tcp_stats
call sym._NETSTAT_conn_header
call sym._NETSTAT_tcp_table
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x1cc]
mov dword [esp + 4], str.IPv6
mov dword [esp], eax
call esi
test eax, eax
je 0x40235d
mov eax, dword [ebp - 0x1cc]
mov dword [esp + 4], str.ICMP
mov dword [esp], eax
call esi
test eax, eax
je 0x40235d
mov eax, dword [ebp - 0x1cc]
mov dword [esp + 4], str.ICMPv6
mov dword [esp], eax
call esi
test eax, eax
je 0x40235d
mov eax, dword [ebp - 0x1cc]
mov dword [esp + 4], 0x4054ac
mov dword [esp], eax
call esi
test eax, eax
je 0x4023a2
mov eax, dword [ebp - 0x1cc]
mov dword [esp + 4], str.TCPv6
mov dword [esp], eax
call esi
test eax, eax
je 0x40235d
mov eax, dword [ebp - 0x1cc]
mov dword [esp + 4], 0x405498
mov dword [esp], eax
call esi
test eax, eax
je 0x402482
mov eax, dword [ebp - 0x1cc]
mov dword [esp + 4], str.UDPv6
mov dword [esp], eax
call esi
jmp 0x40235d
mov edi, 1
jmp 0x4021f3
test ebx, ebx
jne 0x4024ad
call sym._NETSTAT_conn_header
xor edi, edi
call sym._NETSTAT_udp_table
jmp 0x4021f3
test ebx, ebx
jne 0x402225
jmp 0x4021f3
call sym._NETSTAT_udp_stats
jmp 0x402486
mov dword [ebp - 0x1f0], 0
xor edx, edx
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0
jmp 0x4020c5
mov edi, dword [ebp - 0x1cc]
jmp 0x4021f3