Function at 0x41ab70
Capabilities:
Create tcp socket
Create udp socket
Initialize winsock library
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x19c
mov eax, dword [0x446050]
xor eax, esp
mov dword [esp + 0x198], eax
push ebx
xor ebx, ebx
push esi
push edi
cmp byte [0x449dc2], bl
jne 0x41abd5
xor eax, eax
push 0x18e
push eax
lea ecx, [esp + 0x1a]
push ecx
mov word [esp + 0x1c], ax
call fcn.004249d0
add esp, 0xc
lea edx, [esp + 0x10]
push edx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov ebx, eax
test ebx, ebx
sete al
mov byte [0x449dc2], al
test al, al
je 0x41ae63
cmp byte [0x449dc1], 0
jne 0x41ae63
push 1
push 0
push 0
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_WSASocketA]
mov esi, eax
test esi, esi
je 0x41acf6
cmp esi, 0xffffffff
je 0x41acf6
mov edi, dword [sym.imp.WS2_32.dll_WSAIoctl]
push 0
push 0
lea eax, [esp + 0x14]
push eax
push 4
push 0x449f6c
push 0x10
push 0x44756c
push 0xc8000006
push esi
call edi
push 0
push 0
lea ecx, [esp + 0x14]
push ecx
push 4
push 0x44a004
push 0x10
push 0x44757c
push 0xc8000006
push esi
call edi
push 0
push 0
lea edx, [esp + 0x14]
push edx
push 4
push 0x44a008
push 0x10
push 0x44758c
push 0xc8000006
push esi
call edi
push 0
push 0
lea eax, [esp + 0x14]
push eax
push 4
push 0x44a00c
push 0x10
push 0x44759c
push 0xc8000006
push esi
call edi
push 0
push 0
lea ecx, [esp + 0x14]
push ecx
push 4
push 0x44a010
push 0x10
push 0x4475ac
push 0xc8000006
push esi
call edi
push 0
push 0
lea edx, [esp + 0x14]
push edx
push 4
push 0x44a014
push 0x10
push 0x4475bc
push 0xc8000006
push esi
call edi
push 0
push 0
lea eax, [esp + 0x14]
push eax
push 4
push 0x44a018
push 0x10
push 0x4475cc
push 0xc8000006
push esi
call edi
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov byte [0x449dc1], 1
jmp 0x41acfe
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call fcn.0041b210
push str.iphlpapi.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x44a058], eax
test eax, eax
jne 0x41ad35
push str.iphlpapi.dll
call fcn.0040bf40
mov dword [0x44a058], eax
test eax, eax
je 0x41ae4e
mov byte [0x44a05c], 1
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.IcmpCreateFile
push eax
call esi
mov ecx, dword [0x44a058]
push str.IcmpCloseHandle
push ecx
mov dword [0x44a01c], eax
call esi
mov edx, dword [0x44a058]
push str.IcmpSendEcho
push edx
mov dword [0x44a020], eax
call esi
mov dword [0x44a02c], eax
mov eax, dword [0x44a058]
push str.Icmp6CreateFile
push eax
call esi
mov ecx, dword [0x44a058]
push str.Icmp6ParseReplies
push ecx
mov dword [0x44a024], eax
call esi
mov edx, dword [0x44a058]
push str.Icmp6SendEcho2
push edx
mov dword [0x44a028], eax
call esi
mov dword [0x44a030], eax
mov eax, dword [0x44a058]
push str.GetAdaptersInfo
push eax
call esi
mov ecx, dword [0x44a058]
push str.GetAdaptersAddresses
push ecx
mov dword [0x44a034], eax
call esi
mov edx, dword [0x44a058]
push str.GetInterfaceCurrentTimestampCapabilities
push edx
mov dword [0x44a038], eax
call esi
mov dword [0x44a03c], eax
mov eax, dword [0x44a058]
push str.GetInterfaceHardwareTimestampCapabilities
push eax
call esi
mov ecx, dword [0x44a058]
push str.CaptureInterfaceHardwareCrossTimestamp
push ecx
mov dword [0x44a040], eax
call esi
mov edx, dword [0x44a058]
push str.GetInterfaceSupportedTimestampCapabilities
push edx
mov dword [0x44a044], eax
call esi
mov dword [0x44a048], eax
mov eax, dword [0x44a058]
push str.GetInterfaceActiveTimestampCapabilities
push eax
call esi
mov ecx, dword [0x44a058]
push str.GetIfTable2Ex
push ecx
mov dword [0x44a04c], eax
call esi
mov edx, dword [0x44a058]
push str.FreeMibTable
push edx
mov dword [0x44a050], eax
call esi
mov dword [0x44a054], eax
cmp dword [0x44a014], 0
mov byte [0x449a39], 0
je 0x41ae63
call fcn.0041afa0
mov ecx, dword [esp + 0x1a4]
pop edi
pop esi
mov eax, ebx
pop ebx
xor ecx, esp
call fcn.0041f826
mov esp, ebp
pop ebp
ret