Function at 0x40d0b0
Capabilities:
Contain obfuscated stackstrings
Create thread
Initialize winsock library

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff8
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x6e8]
push ebx
push ecx
sub esp, 0x9ec
mov dword [esp + 4], eax
mov dword [esp], 0x202
call dword [sym.imp.ws2_32.dll_WSAStartup]
sub esp, 8
call fcn.00401000
mov ebx, dword [0x42b114]
test ebx, ebx
je 0x40ef4a
lea eax, [ebp - 0x558]
mov dword [esp], eax
call dword [sym.imp.iphlpapi.dll_GetNumberOfInterfaces]
sub esp, 4
mov ebx, eax
mov eax, 0x97
call fcn.00401820
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.GetNumberOfInterfaces_returned__ld__expected_0_n
mov dword [esp], eax
call fcn.00402000
call fcn.00402250
call fcn.004024b0
call fcn.00402ae0
call fcn.00403600
call fcn.00403c80
call fcn.00403f00
call fcn.00404280
call fcn.00404520
call fcn.004046a0
call fcn.004049d0
call fcn.004050c0
call fcn.00405600
call fcn.00405900
call fcn.00405ae0
call fcn.00405c70
call fcn.00405e10
call fcn.00408240
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], fcn.00408d00
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_CreateThread]
sub esp, 0x18
mov ebx, eax
mov dword [esp], 0
call fcn.00408d00
sub esp, 4
mov dword [esp], ebx
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
mov ebx, dword [sym.imp.iphlpapi.dll_GetPerAdapterInfo]
sub esp, 8
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 1
call ebx
sub esp, 0xc
mov esi, eax
mov eax, 0x671
call fcn.00401820
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_instead_of_ERROR_INVALID_PARAMETER_n
mov dword [esp], eax
call fcn.00402000
lea eax, [ebp - 0x558]
mov dword [ebp - 0x558], 0xdeadbeef
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call ebx
sub esp, 0xc
mov esi, eax
cmp eax, 0xe8
je 0x40d308
mov eax, 0x675
call fcn.00401820
xor eax, eax
cmp esi, 0x6f
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_instead_of_ERROR_BUFFER_OVERFLOW_n
mov dword [esp], eax
call fcn.00402000
mov eax, 0x676
call fcn.00401820
mov dword [esp + 4], str.needed_not_set_n
xor eax, eax
cmp dword [ebp - 0x558], 0xdeadbeef
setne al
mov dword [esp], eax
call fcn.00402000
mov eax, dword [ebp - 0x558]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_malloc]
mov dword [esp], 1
mov esi, eax
lea eax, [ebp - 0x558]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
call ebx
sub esp, 0xc
mov ebx, eax
mov eax, 0x679
call fcn.00401820
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.got__lu_instead_of_NO_ERROR_n
mov dword [esp], eax
call fcn.00402000
mov dword [esp], esi
call dword [sym.imp.msvcrt.dll_free]
call fcn.00409350
call fcn.00409c20
call fcn.00409840
mov eax, 2
call fcn.0040a8d0
mov eax, 0x17
call fcn.0040a8d0
call fcn.00409aa0
mov eax, 2
call fcn.0040ae10
mov eax, 0x17
call fcn.0040ae10
call fcn.0040b2d0
call fcn.00403170
call fcn.0040b590
mov esi, dword [sym.imp.iphlpapi.dll_ConvertInterfaceIndexToLuid]
mov dword [esp + 4], 0
mov dword [esp], 0
call esi
sub esp, 8
mov ebx, eax
mov eax, 0x9cf
call fcn.00401820
xor eax, eax
cmp ebx, 0x57
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_ERROR_INVALID_PARAMETER__got__lu_n
mov dword [esp], eax
call fcn.00402000
lea eax, [ebp - 0x9b0]
mov dword [esp], 0xffffffff
mov dword [esp + 4], eax
call esi
sub esp, 8
mov ebx, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0x9d2
xor eax, eax
cmp ebx, 2
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.expected_ERROR_FILE_NOT_FOUND__got__lu_n
mov dword [esp], eax
call fcn.00402000
mov esi, dword [sym.imp.iphlpapi.dll_ConvertInterfaceLuidToIndex]
mov dword [esp + 4], 0
mov dword [esp], 0
call esi
sub esp, 8
mov ebx, eax
mov eax, 0x9d6
call fcn.00401820
xor eax, eax
cmp ebx, 0x57
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_ERROR_INVALID_PARAMETER__got__lu_n
mov dword [esp], eax
call fcn.00402000
lea eax, [ebp - 0x9b4]
mov dword [esp], 0
mov dword [esp + 4], eax
call esi
sub esp, 8
mov ebx, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0x9d9
xor eax, eax
cmp ebx, 0x57
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.expected_ERROR_INVALID_PARAMETER__got__lu_n
call fcn.00402000
lea eax, [ebp - 0x9b4]
mov dword [ebp - 0x9b0], 0xffffffff
mov dword [ebp - 0x9ac], 0xffffffff
mov dword [ebp - 0x9b4], 0xffffffff
mov dword [esp + 4], eax
lea eax, [ebp - 0x9b0]
mov dword [esp], eax
call esi
sub esp, 8
mov ebx, eax
mov eax, 0x9de
call fcn.00401820
xor eax, eax
cmp ebx, 2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_ERROR_FILE_NOT_FOUND__got__lu_n
mov dword [esp], eax
call fcn.00402000
mov eax, 0x9df
call fcn.00401820
mov eax, dword [ebp - 0x9b4]
mov dword [esp + 4], str.index_shall_be_zero__got__lu__n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov esi, dword [sym.imp.iphlpapi.dll_ConvertInterfaceLuidToGuid]
mov dword [esp + 4], 0
mov dword [esp], 0
call esi
sub esp, 8
mov ebx, eax
mov eax, 0x9e3
call fcn.00401820
xor eax, eax
cmp ebx, 0x57
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_ERROR_INVALID_PARAMETER__got__lu_n
mov dword [esp], eax
call fcn.00402000
mov eax, dword [0x4179d4]
mov dword [ebp - 0x9b0], 0xffffffff
mov dword [ebp - 0x9ac], 0xffffffff
mov dword [ebp - 0x92c], eax
mov eax, dword [0x4179d8]
mov dword [ebp - 0x928], eax
mov eax, dword [0x4179dc]
mov dword [ebp - 0x924], eax
mov eax, dword [0x4179e0]
mov dword [ebp - 0x920], eax
lea eax, [ebp - 0x92c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x9b0]
mov dword [esp], eax
call esi
sub esp, 8
mov ebx, eax
mov eax, 0x9e8
call fcn.00401820
xor eax, eax
cmp ebx, 2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_ERROR_FILE_NOT_FOUND__got__lu_n
mov dword [esp], eax
call fcn.00402000
mov eax, 0x9e9
call fcn.00401820
mov eax, dword [0x4179c4]
cmp dword [ebp - 0x92c], eax
je 0x40f2b8
mov eax, 1
xor eax, 1
mov dword [esp + 4], str.guid_shall_be_nil_n
lea edi, [ebp - 0x558]
mov dword [esp], eax
call fcn.00402000
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.iphlpapi.dll_ConvertInterfaceGuidToLuid]
sub esp, 8
mov ebx, eax
mov eax, 0x9ed
call fcn.00401820
xor eax, eax
cmp ebx, 0x57
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_ERROR_INVALID_PARAMETER__got__lu_n
mov dword [esp], eax
call fcn.00402000
mov ebx, dword [sym.imp.iphlpapi.dll_ConvertInterfaceLuidToNameW]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0xc
mov esi, eax
mov eax, 0x9f1
call fcn.00401820
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.expected_ERROR_INVALID_PARAMETER__got__lu_n
xor esi, esi
mov dword [esp], eax
call fcn.00402000
mov eax, esi
mov ecx, pe_nt_image_headers32
rep stosd dword es:[edi], eax
xor ecx, ecx
lea eax, [ebp - 0x558]
mov word [edi], cx
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0
call ebx
sub esp, 0xc
mov ebx, eax
mov eax, 0x9f5
call fcn.00401820
xor eax, eax
cmp ebx, 0x57
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_ERROR_INVALID_PARAMETER__got__lu_n
mov dword [esp], eax
call fcn.00402000
mov eax, 0x9f6
call fcn.00401820
mov dword [esp + 4], str.nameW_shall_not_change_n
xor eax, eax
cmp word [ebp - 0x558], 0
sete al
mov dword [esp], eax
call fcn.00402000
mov ebx, dword [sym.imp.iphlpapi.dll_ConvertInterfaceLuidToNameA]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0xc
mov edi, eax
mov eax, 0x9fa
call fcn.00401820
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__lu_n
lea edi, [ebp - 0x850]
mov dword [esp], eax
call fcn.00402000
mov eax, esi
mov ecx, 0x40
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x850]
mov byte [edi], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0
call ebx
sub esp, 0xc
mov ebx, eax
mov eax, 0x9fe
call fcn.00401820
xor eax, eax
cmp ebx, 0x57
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00402000
mov eax, 0x9ff
call fcn.00401820
mov dword [esp + 4], str.nameA_shall_not_change_n
xor eax, eax
cmp byte [ebp - 0x850], 0
sete al
mov dword [esp], eax
call fcn.00402000
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.iphlpapi.dll_ConvertInterfaceNameToLuidW]
sub esp, 8
mov ebx, eax
mov eax, 0xa03
call fcn.00401820
xor eax, eax
cmp ebx, 0x57
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00402000
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.iphlpapi.dll_ConvertInterfaceNameToLuidA]
sub esp, 8
mov ebx, eax
mov eax, 0xa07
call fcn.00401820
xor eax, eax
cmp ebx, 0x7b
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00402000
mov dword [esp], 0
call dword [sym.imp.iphlpapi.dll_if_nametoindex]
mov dword [ebp - 0x9b4], eax
sub esp, 4
mov eax, 0xa0b
call fcn.00401820
mov eax, dword [ebp - 0x9b4]
mov dword [esp + 4], str.Got_unexpected_index__lu_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov esi, dword [sym.imp.iphlpapi.dll_if_indextoname]
mov dword [esp + 4], 0
mov dword [esp], 0
call esi
sub esp, 8
mov ebx, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xa0f
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.expected_NULL__got__s_n
call fcn.00402000
lea eax, [ebp - 0x850]
mov dword [esp], 0
mov dword [esp + 4], eax
call esi
sub esp, 8
mov ebx, eax
mov eax, 0xa12
call fcn.00401820
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_NULL__got__p_n
mov dword [esp], eax
call fcn.00402000
lea eax, [ebp - 0x850]
mov dword [esp], 0xffffffff
mov dword [esp + 4], eax
call esi
sub esp, 8
mov ebx, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xa15
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.expected_NULL__got__p_n
call fcn.00402000
xor eax, eax
call fcn.004015e0
mov edx, eax
test eax, eax
jne 0x40d97b
mov eax, 0xa20
call fcn.00401820
mov dword [esp], str.no_suitable_interface_found_n
call fcn.00401b20
jmp 0x40da91
mov edx, dword [edx + 8]
test edx, edx
je 0x40f578
cmp dword [edx + 0x40], 6
jne 0x40d970
mov edi, dword [edx + 4]
mov dword [ebp - 0x9bc], edi
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_free]
test edi, edi
je 0x40d951
mov ebx, dword [sym.imp.iphlpapi.dll_GetIfEntry2]
mov dword [esp], 0
lea edi, [ebp - 0x558]
call ebx
sub esp, 4
mov esi, eax
mov eax, 0xa25
call fcn.00401820
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_n
xor esi, esi
mov dword [esp], eax
call fcn.00402000
mov eax, esi
mov ecx, 0x152
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x558]
mov dword [esp], eax
call ebx
sub esp, 4
mov edi, eax
mov eax, 0xa29
call fcn.00401820
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__lu_n
lea edi, [ebp - 0x558]
mov dword [esp], eax
call fcn.00402000
mov eax, esi
mov ecx, 0x152
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x9bc]
lea eax, [ebp - 0x558]
mov dword [ebp - 0x550], edi
mov dword [esp], eax
call ebx
sub esp, 4
mov ebx, eax
mov eax, 0xa2e
call fcn.00401820
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00402000
mov eax, 0xa2f
call fcn.00401820
xor eax, eax
mov dword [esp + 8], edi
mov dword [esp + 4], str.got__lu_n
cmp dword [ebp - 0x550], edi
sete al
mov dword [esp], eax
call fcn.00402000
mov dword [ebp - 0x558], 0
lea eax, [ebp - 0x558]
mov dword [esp], eax
call dword [sym.imp.iphlpapi.dll_GetIfTable2]
sub esp, 4
mov ebx, eax
mov eax, 0xa39
call fcn.00401820
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00402000
mov eax, 0xa3a
call fcn.00401820
mov dword [esp + 4], str.table_not_set_n
xor eax, eax
mov ebx, dword [ebp - 0x558]
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00402000
mov eax, dword [ebp - 0x558]
mov esi, dword [sym.imp.iphlpapi.dll_FreeMibTable]
mov dword [esp], eax
call esi
lea eax, [ebp - 0x558]
mov ebx, dword [sym.imp.iphlpapi.dll_GetIfTable2Ex]
mov dword [ebp - 0x558], 0
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 0
call ebx
sub esp, 8
mov edi, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xa45
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.got__lu_n
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xa46
xor eax, eax
mov dword [esp + 4], str.table_not_set_n
mov edi, dword [ebp - 0x558]
test edi, edi
setne al
mov dword [esp], eax
call fcn.00402000
mov eax, dword [ebp - 0x558]
mov dword [esp], eax
call esi
lea eax, [ebp - 0x558]
mov dword [ebp - 0x558], 0
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 1
call ebx
sub esp, 8
mov edi, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xa4b
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.got__lu_n
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xa4c
xor eax, eax
mov dword [esp + 4], str.table_not_set_n
mov edx, dword [ebp - 0x558]
test edx, edx
setne al
mov dword [esp], eax
call fcn.00402000
mov eax, dword [ebp - 0x558]
mov dword [esp], eax
call esi
lea eax, [ebp - 0x558]
mov dword [ebp - 0x558], 0
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 2
call ebx
sub esp, 8
mov edi, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xa51
mov eax, 1
test edi, edi
je 0x40dc7f
mov ecx, dword [0x42b150]
test ecx, ecx
sete dl
xor eax, eax
cmp edi, 0x57
sete al
and eax, edx
mov dword [esp], eax
mov dword [esp + 8], edi
mov dword [esp + 4], str.got__lu_n
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xa52
mov edx, dword [ebp - 0x558]
mov eax, 1
test edx, edx
je 0x40f362
mov dword [esp], eax
mov dword [esp + 4], str.table_not_set_n
call fcn.00402000
mov eax, dword [ebp - 0x558]
mov dword [esp], eax
call esi
lea eax, [ebp - 0x558]
mov dword [ebp - 0x558], 0
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 3
call ebx
sub esp, 8
mov ebx, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xa57
xor eax, eax
cmp ebx, 0x57
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.got__lu_n
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xa58
xor eax, eax
mov dword [esp + 4], str.table_should_not_be_set_n
mov ecx, dword [ebp - 0x558]
test ecx, ecx
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, dword [ebp - 0x558]
mov dword [esp], eax
call esi
sub esp, 4
call fcn.0040c8e0
mov eax, dword [0x42b100]
test eax, eax
je 0x40f5f2
mov dword [esp + 4], 0
mov dword [esp], 0
call eax
sub esp, 8
mov ebx, eax
mov eax, 0xad0
call fcn.00401820
xor eax, eax
cmp ebx, 0x57
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00402000
lea eax, [ebp - 0x558]
mov dword [esp], 0x15
mov dword [esp + 4], eax
call dword [0x42b100]
sub esp, 8
mov ebx, eax
mov eax, 0xad3
call fcn.00401820
xor eax, eax
cmp ebx, 0x57
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00402000
lea eax, [ebp - 0x558]
mov dword [esp], 2
mov dword [esp + 4], eax
call dword [0x42b100]
sub esp, 8
mov ebx, eax
mov eax, 0xad6
call fcn.00401820
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00402000
mov eax, 0xad7
call fcn.00401820
mov eax, dword [ebp - 0x558]
mov eax, dword [eax]
mov dword [esp], str.GetUnicastIpAddressTable_AF_INET_:_NumEntries__lu_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, dword [ebp - 0x558]
mov dword [esp], eax
call esi
lea eax, [ebp - 0x558]
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 0x17
call dword [0x42b100]
sub esp, 8
mov ebx, eax
mov eax, 0xadb
call fcn.00401820
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00402000
mov eax, 0xadc
call fcn.00401820
mov eax, dword [ebp - 0x558]
mov eax, dword [eax]
mov dword [esp], str.GetUnicastIpAddressTable_AF_INET6_:_NumEntries__lu_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, dword [ebp - 0x558]
mov dword [esp], eax
call esi
lea eax, [ebp - 0x558]
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 0
call dword [0x42b100]
sub esp, 8
mov ebx, eax
mov eax, 0xae0
call fcn.00401820
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.got__lu_n
xor edi, edi
mov dword [esp], eax
call fcn.00402000
mov eax, 0xae1
call fcn.00401820
mov eax, dword [ebp - 0x558]
mov eax, dword [eax]
mov dword [esp], str.GetUnicastIpAddressTable_AF_UNSPEC_:_NumEntries__lu_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, dword [ebp - 0x558]
mov edx, dword [eax]
test edx, edx
jne 0x40e213
jmp 0x40e220
call fcn.0040f800
lea ebx, [edi + edi*4]
mov dword [eax], 0x4141a7
shl ebx, 4
mov dword [eax + 4], 0xae4
mov dword [esp + 4], edi
mov dword [esp], str.Index__lu:_n
call fcn.00401b30
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xae5
mov eax, dword [ebp - 0x558]
add eax, ebx
movzx eax, word [eax + 8]
mov dword [esp], str.Address.si_family:________________u_n
mov dword [esp + 4], eax
call fcn.00401b30
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xae6
mov eax, dword [ebp - 0x558]
add eax, ebx
mov eax, dword [eax + 0x28]
mov dword [esp], str.InterfaceLuid.Info.Reserved:______u_n
and eax, 0xffffff
mov dword [esp + 4], eax
call fcn.00401b30
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xae7
mov eax, dword [ebp - 0x558]
add eax, ebx
movzx edx, byte [eax + 0x2b]
movzx eax, word [eax + 0x2c]
mov dword [esp], str.InterfaceLuid.Info.NetLuidIndex:__u_n
shl eax, 8
or eax, edx
mov dword [esp + 4], eax
call fcn.00401b30
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xae8
mov eax, dword [ebp - 0x558]
add eax, ebx
movzx eax, word [eax + 0x2e]
mov dword [esp], str.InterfaceLuid.Info.IfType:________u_n
mov dword [esp + 4], eax
call fcn.00401b30
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xae9
mov eax, dword [ebp - 0x558]
add eax, ebx
mov eax, dword [eax + 0x30]
mov dword [esp], str.InterfaceIndex:___________________lu_n
mov dword [esp + 4], eax
call fcn.00401b30
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xaea
mov eax, dword [ebp - 0x558]
add eax, ebx
mov eax, dword [eax + 0x34]
mov dword [esp], str.PrefixOrigin:_____________________u_n
mov dword [esp + 4], eax
call fcn.00401b30
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xaeb
mov eax, dword [ebp - 0x558]
add eax, ebx
mov eax, dword [eax + 0x38]
mov dword [esp], str.SuffixOrigin:_____________________u_n
mov dword [esp + 4], eax
call fcn.00401b30
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xaec
mov eax, dword [ebp - 0x558]
add eax, ebx
mov eax, dword [eax + 0x3c]
mov dword [esp], str.ValidLifetime:____________________lu_seconds_n
mov dword [esp + 4], eax
call fcn.00401b30
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xaed
mov eax, dword [ebp - 0x558]
add eax, ebx
mov eax, dword [eax + 0x40]
mov dword [esp], str.PreferredLifetime:________________lu_seconds_n
mov dword [esp + 4], eax
call fcn.00401b30
add edi, 1
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xaee
mov eax, dword [ebp - 0x558]
add eax, ebx
movzx eax, byte [eax + 0x44]
mov dword [esp], str.OnLinkPrefixLength:_______________u_n
mov dword [esp + 4], eax
call fcn.00401b30
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xaef
mov eax, dword [ebp - 0x558]
add eax, ebx
movzx eax, byte [eax + 0x45]
mov dword [esp], str.SkipAsSource:_____________________u_n
mov dword [esp + 4], eax
call fcn.00401b30
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xaf0
mov eax, dword [ebp - 0x558]
add eax, ebx
mov eax, dword [eax + 0x48]
mov dword [esp], str.DadState:_________________________u_n
mov dword [esp + 4], eax
call fcn.00401b30
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xaf1
mov eax, dword [ebp - 0x558]
add eax, ebx
mov eax, dword [eax + 0x4c]
mov dword [esp], str.ScopeId.Value:____________________lu_n
mov dword [esp + 4], eax
call fcn.00401b30
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xaf2
add ebx, dword [ebp - 0x558]
mov eax, dword [ebx + 0x50]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x54]
mov dword [esp], str.CreationTimeStamp:________________08lx_08lx_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, dword [ebp - 0x558]
cmp edi, dword [eax]
jae 0x40e220
cmp dword [0x412068], 1
jg 0x40df50
mov dword [esp], eax
call esi
sub esp, 4
mov eax, dword [0x42b0f0]
test eax, eax
je 0x40f5d7
mov dword [ebp - 0x558], 0xdeadbeef
xor ebx, ebx
xor edi, edi
jmp 0x40e264
mov ecx, 0x20
mov eax, 0xffffffff
sub ecx, ebx
shl eax, cl
mov dword [esp], eax
call dword [sym.imp.ws2_32.dll_htonl]
sub esp, 4
mov edi, eax
lea eax, [ebp - 0x558]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [0x42b0f0]
sub esp, 8
mov esi, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xb0e
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 8], esi
mov dword [esp + 4], str.ConvertLengthToIpv4Mask_returned_0x_08lx__expected_0x_08x_n
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xb0f
mov eax, dword [ebp - 0x558]
mov dword [esp + 0xc], edi
cmp eax, edi
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], str.ConvertLengthToIpv4Mask_mask_value_0x_08lx__expected_0x_08lx_n
add ebx, 1
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov dword [ebp - 0x558], 0xdeadbeef
cmp ebx, 0x21
jne 0x40e248
lea eax, [ebp - 0x558]
mov dword [esp], 0x21
mov dword [esp + 4], eax
call dword [0x42b0f0]
sub esp, 8
mov ebx, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xb15
xor eax, eax
cmp ebx, 0x57
sete al
mov dword [esp + 0xc], 0x57
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.ConvertLengthToIpv4Mask_returned_0x_08lx__expected_0x_08x_n
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xb16
mov eax, dword [ebp - 0x558]
mov dword [esp + 0xc], 0xffffffff
cmp eax, 0xffffffff
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], str.ConvertLengthToIpv4Mask_mask_value_0x_08lx__expected_0x_08x_n
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov dword [ebp - 0x558], 0
mov eax, dword [0x42b10c]
test eax, eax
je 0x40f5a1
lea edx, [ebp - 0x558]
mov dword [esp + 8], 0
mov dword [esp + 4], edx
mov dword [esp], 0
call eax
sub esp, 0xc
mov ebx, eax
cmp eax, 0x32
je 0x40f3f5
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xb2b
xor eax, eax
cmp ebx, 0x7a
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.GetTcp6Table_NULL__size__FALSE__returned__ld__expected_ERROR_INSUFFICIENT_BUFFER_n
mov dword [esp], eax
call fcn.00402000
cmp ebx, 0x7a
je 0x40f374
mov dword [ebp - 0x558], 0
mov eax, dword [0x42b108]
test eax, eax
je 0x40f5bc
lea edx, [ebp - 0x558]
mov dword [esp + 8], 0
mov dword [esp + 4], edx
mov dword [esp], 0
call eax
sub esp, 0xc
mov ebx, eax
cmp eax, 0x32
je 0x40f410
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xb55
xor eax, eax
cmp ebx, 0x7a
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.GetUdp6Table_NULL__dwSize__FALSE__returned__ld__expected_ERROR_INSUFFICIENT_BUFFER_n
mov dword [esp], eax
call fcn.00402000
cmp ebx, 0x7a
je 0x40f42b
xor eax, eax
mov ecx, 0x5a
lea edi, [ebp - 0x850]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x904]
mov ecx, 0x2c
mov dword [ebp - 0x850], 0x2e322e31
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x998]
mov ecx, 0x1a
mov dword [ebp - 0x84c], 0x342e33
mov dword [ebp - 0x830], 0x4030201
mov dword [ebp - 0x828], 0x2e322e31
mov dword [ebp - 0x824], 0x61342e33
mov dword [ebp - 0x804], 0x57
mov dword [ebp - 0x800], 0x2e322e31
mov dword [ebp - 0x7fc], 0x78302e33
mov dword [ebp - 0x7f8], 0x6134
mov dword [ebp - 0x7dc], 0x57
mov dword [ebp - 0x7d8], 0x2e322e31
mov dword [ebp - 0x7d4], 0x33
mov dword [ebp - 0x7b4], 0x57
mov dword [ebp - 0x7b0], 0x322e3161
mov dword [ebp - 0x7ac], 0x342e332e
mov dword [ebp - 0x78c], 0x57
mov dword [ebp - 0x788], 0x65647830
mov dword [ebp - 0x784], 0x65626461
mov dword [ebp - 0x780], 0x6665
mov dword [ebp - 0x764], 0x57
mov dword [ebp - 0x760], 0x2e322e31
mov dword [ebp - 0x75c], 0x3a342e33
mov dword [ebp - 0x758], 0x3232
mov dword [ebp - 0x73c], 0x57
mov dword [ebp - 0x738], 0x313a3a
mov dword [ebp - 0x714], 0x57
mov dword [ebp - 0x710], 0x656e6977
mov dword [ebp - 0x70c], 0x6f2e7168
mov dword [ebp - 0x708], 0x6772
mov dword [ebp - 0x6ec], 0x57
mov dword [ebp - 0x92c], 0x2e322e31
rep stosd dword es:[edi], eax
xor ecx, ecx
mov dword [ebp - 0x928], 0x3a342e33
mov dword [ebp - 0x924], 0x3232
mov dword [ebp - 0x920], 0
mov dword [ebp - 0x91c], 0
mov dword [ebp - 0x918], 0
mov dword [ebp - 0x914], 0
mov word [edi], cx
mov dword [ebp - 0x910], 0
mov dword [ebp - 0x90c], 0x4030201
mov dword [ebp - 0x908], 0x16
mov dword [ebp - 0x900], 0x656e6977
mov dword [ebp - 0x8fc], 0x6f2e7168
mov dword [ebp - 0x8f8], 0x323a6772
mov dword [ebp - 0x8f4], 0x32
mov dword [ebp - 0x8d8], 0x57
mov dword [ebp - 0x8d4], 0x2e322e31
mov dword [ebp - 0x8d0], 0x342e33
mov dword [ebp - 0x8ac], 0x57
mov dword [ebp - 0x8a8], 0x2e322e31
mov dword [ebp - 0x8a4], 0x3a342e33
mov dword [ebp - 0x8a0], 0x30
mov dword [ebp - 0x880], 0x57
mov dword [ebp - 0x87c], 0x2e322e31
mov dword [ebp - 0x878], 0x3a342e33
mov dword [ebp - 0x874], 0x33353536
mov dword [ebp - 0x870], 0x36
mov dword [ebp - 0x854], 0x57
mov dword [ebp - 0x9b0], 0x320031
mov dword [ebp - 0x9ac], 0x2e0037
mov dword [ebp - 0x9a8], 0x2e0030
mov dword [ebp - 0x9a4], 0x2e0030
mov dword [ebp - 0x9a0], 0x3a0031
mov eax, dword [0x42b0ec]
mov dword [ebp - 0x99c], 0x320032
test eax, eax
je 0x40eaf4
lea edx, [ebp - 0x9b0]
mov dword [esp + 0x10], 0
mov dword [esp], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
call eax
sub esp, 0x14
mov ebx, eax
mov eax, 0xb9d
call fcn.00401820
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_success__got__ld_n
mov dword [esp], eax
call fcn.00402000
lea eax, [ebp - 0x558]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov dword [esp], 0
call dword [0x42b0ec]
sub esp, 0x14
mov ebx, eax
mov eax, 0xba0
call fcn.00401820
xor eax, eax
cmp ebx, 0x57
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_ERROR_INVALID_PARAMETER__got__ld_n
lea ebx, [ebp - 0x850]
mov dword [esp], eax
call fcn.00402000
lea eax, [ebp - 0x850]
mov dword [ebp - 0x9bc], ebx
mov dword [ebp - 0x9c8], eax
lea eax, [ebp - 0x92c]
mov dword [ebp - 0x9cc], eax
mov dword [ebp - 0x9c0], eax
mov eax, dword [sym.imp.ws2_32.dll_ntohs]
mov dword [ebp - 0x9c4], eax
jmp 0x40e934
mov edx, dword [ebp - 0x9bc]
cmp dword [edx + 0x20], ebx
sete al
xor esi, esi
movzx eax, al
mov dword [esp], eax
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xbb4
movzx eax, word [ebp - 0x552]
mov dword [esp], eax
mov eax, dword [ebp - 0x9c4]
call eax
movzx edx, word [ebp - 0x552]
sub esp, 4
movzx eax, ax
mov dword [esp + 0xc], eax
xor eax, eax
mov ebx, dword [ebp - 0x9c0]
cmp esi, edx
sete al
mov dword [esp + 4], str._s_gave_port__d_n
mov dword [esp], eax
mov dword [esp + 8], ebx
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xbb6
movzx eax, word [ebp - 0x9b4]
mov dword [esp + 8], ebx
cmp esi, eax
mov dword [esp + 0xc], eax
mov esi, ebx
sete al
mov dword [esp + 4], str._s_gave_port__d_n
movzx eax, al
mov dword [esp], eax
call fcn.00402000
call fcn.0040f800
cmp edi, 1
movzx edx, byte [ebp - 0x9b5]
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xbb8
sbb eax, eax
and eax, 0x66
mov dword [esp + 0xc], edx
add eax, 0x99
mov dword [esp + 8], ebx
cmp edx, eax
mov dword [esp + 4], str._s_gave_prefix_length__d_n
sete al
add esi, 0x2c
movzx eax, al
mov dword [esp], eax
call fcn.00402000
add dword [ebp - 0x9bc], 0x28
mov edx, dword [ebp - 0x9bc]
lea eax, [ebp - 0x6e8]
mov dword [ebp - 0x9c0], esi
cmp eax, edx
je 0x40ef60
lea eax, [ebp - 0x9b0]
mov dword [esp + 0x14], 0x41
lea edi, [ebp - 0x558]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x20
mov eax, dword [ebp - 0x9bc]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov eax, 0x99999999
mov ecx, 0x84
mov edx, 0xffff9999
rep stosd dword es:[edi], eax
sub esp, 0x18
lea eax, [ebp - 0x9b5]
mov word [ebp - 0x9b4], dx
mov byte [ebp - 0x9b5], 0x99
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x9b4]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x558]
mov dword [esp + 8], eax
lea eax, [ebp - 0x9b0]
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x42b0ec]
sub esp, 0x14
mov edi, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xbac
mov dword [esp + 0xc], edi
mov eax, dword [ebp - 0x9bc]
mov dword [esp + 4], str._s_gave_error__ld_n
mov dword [esp + 8], eax
cmp dword [eax + 0x24], edi
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xbae
mov eax, dword [ebp - 0x558]
cmp edi, eax
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x9bc]
setne al
mov dword [esp + 4], str._s_gave_format__d_n
movzx eax, al
mov dword [esp + 8], edx
add eax, eax
mov dword [esp], eax
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xbb0
movzx eax, byte [ebp - 0x54d]
movzx esi, byte [ebp - 0x54e]
movzx ecx, byte [ebp - 0x54f]
movzx edx, byte [ebp - 0x550]
mov ebx, dword [ebp - 0x550]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov eax, dword [ebp - 0x9bc]
mov dword [esp + 4], str._s_gave_address__d._d._d._d_n
mov dword [esp + 8], eax
test edi, edi
je 0x40e820
xor eax, eax
cmp ebx, 0x99999999
mov esi, 0x9999
sete al
mov dword [esp], eax
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xbb4
movzx eax, word [ebp - 0x552]
mov dword [esp], eax
mov eax, dword [ebp - 0x9c4]
call eax
movzx edx, word [ebp - 0x552]
sub esp, 4
movzx eax, ax
jmp 0x40e86a
mov eax, 0xb98
call fcn.00401820
mov dword [esp], str.ParseNetworkString_not_available_n
call fcn.00401fd0
lea esi, [esi]
mov eax, dword [0x42b0e8]
test eax, eax
je 0x40f586
mov dword [ebp - 0x850], 0
lea edx, [ebp - 0x558]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x850]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 4], 0x4020a0
mov dword [esp], 2
call eax
sub esp, 0x14
mov ebx, eax
mov eax, 0xbf2
call fcn.00401820
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Unexpected_ret__lx._n
mov dword [esp], eax
call fcn.00402000
mov eax, 0xbf3
call fcn.00401820
mov dword [esp + 4], str.Callback_was_not_called._n
mov eax, dword [ebp - 0x850]
mov dword [esp], eax
call fcn.00402000
mov eax, dword [ebp - 0x558]
mov dword [esp], eax
call dword [0x42b0e4]
sub esp, 4
mov ebx, eax
mov eax, 0xbf6
call fcn.00401820
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Unexpected_ret__lx._n
mov dword [esp], eax
call fcn.00402000
mov eax, 0xbf7
call fcn.00401820
mov eax, dword [ebp - 0x558]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CloseHandle]
sub esp, 4
test eax, eax
sete al
mov dword [esp + 4], str.CloseHandle___succeeded._n
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov dword [ebp - 0x9b0], 0xa
lea eax, [ebp - 0x850]
mov dword [ebp - 0x9ac], 0xc000b
mov dword [ebp - 0x9a8], 0xf0e000d
mov dword [ebp - 0x9a4], 0
mov dword [esp + 4], eax
lea eax, [ebp - 0x9b0]
mov dword [esp + 8], 0x26
mov dword [esp], eax
call sub.iphlpapi.dll_ConvertGuidToStringA
sub esp, 0xc
mov ebx, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xc02
mov dword [esp + 8], ebx
mov dword [esp], ebx
mov dword [esp + 4], str.got__ld_n
call fcn.00402000
lea eax, [ebp - 0x850]
mov dword [esp + 8], 0x27
mov dword [esp + 4], eax
lea eax, [ebp - 0x9b0]
mov dword [esp], eax
call sub.iphlpapi.dll_ConvertGuidToStringA
sub esp, 0xc
mov ebx, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xc04
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.got__ld_n
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xc05
lea eax, [ebp - 0x850]
mov dword [esp + 4], 0x417934
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strcmp]
lea edx, [ebp - 0x850]
mov dword [esp + 4], str.got__s_n
test eax, eax
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
lea eax, [ebp - 0x558]
mov dword [esp + 8], 0x26
mov dword [esp + 4], eax
lea eax, [ebp - 0x9b0]
mov dword [esp], eax
call sub.iphlpapi.dll_ConvertGuidToStringW
sub esp, 0xc
mov ebx, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xc08
mov dword [esp + 8], ebx
mov dword [esp], ebx
mov dword [esp + 4], str.got__ld_n
call fcn.00402000
lea eax, [ebp - 0x558]
mov dword [esp + 8], 0x27
mov dword [esp + 4], eax
lea eax, [ebp - 0x9b0]
mov dword [esp], eax
call sub.iphlpapi.dll_ConvertGuidToStringW
sub esp, 0xc
mov ebx, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xc0a
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.got__ld_n
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xc0b
lea eax, [ebp - 0x558]
shr eax, 0x10
je 0x40f338
lea eax, [ebp - 0x558]
mov dword [esp + 4], 0xffffffff
mov ebx, str._invalid_
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x40ee09
lea eax, [ebp - 0x558]
call fcn.00401840
mov ebx, eax
lea eax, [ebp - 0x558]
mov dword [esp + 4], str.0000000A_000B_000C_0D00_0E0F00000000
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_wcscmp]
mov dword [esp + 8], ebx
test eax, eax
mov dword [esp + 4], str.got__s_n
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
lea eax, [ebp - 0x92c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x558]
mov dword [esp], eax
call sub.iphlpapi.dll_ConvertStringToGuidW
sub esp, 8
mov ebx, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xc0e
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.got__ld_n
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xc0f
mov eax, dword [ebp - 0x92c]
cmp dword [ebp - 0x9b0], eax
je 0x40f2f8
mov eax, 1
xor eax, 1
mov dword [esp + 4], str.guid_mismatch_n
mov dword [esp], eax
call fcn.00402000
lea eax, [ebp - 0x92c]
mov dword [esp], 0x4179ba
mov dword [esp + 4], eax
call sub.iphlpapi.dll_ConvertStringToGuidW
sub esp, 8
mov ebx, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xc12
xor eax, eax
cmp ebx, 0x57
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.got__ld_n
call fcn.00402000
call dword [sym.imp.iphlpapi.dll_GetCurrentThreadCompartmentId]
mov ebx, eax
mov eax, 0xc1a
call fcn.00401820
xor eax, eax
cmp ebx, 1
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.got__u_n
mov dword [esp], eax
call fcn.00402000
mov eax, dword [0x42b114]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FreeLibrary]
sub esp, 4
call dword [sym.imp.ws2_32.dll_WSACleanup]
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
lea eax, [ebp - 0x850]
mov esi, dword [ebp - 0x9cc]
mov dword [ebp - 0x9c0], eax
jmp 0x40f07c
cmp dword [esi + 0x20], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xbce
movzx eax, word [ebp - 0x552]
mov dword [esp], eax
mov edi, dword [ebp - 0x9c4]
call edi
movzx ebx, ax
movzx eax, word [ebp - 0x552]
sub esp, 4
mov dword [esp], eax
call edi
sub esp, 4
movzx eax, ax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], str._s_gave_port__d_n
cmp dword [esi + 0x24], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xbd0
movzx eax, word [ebp - 0x9b4]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 4], str._s_gave_port__d_n
cmp dword [esi + 0x24], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
call fcn.0040f800
mov edx, 0xff
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xbd2
movzx eax, byte [ebp - 0x9b5]
cmp edx, eax
mov dword [esp + 0xc], eax
sete al
mov dword [esp + 8], esi
add esi, 0x2c
movzx eax, al
mov dword [esp + 4], str._s_gave_prefix_length__d_n
mov dword [esp], eax
call fcn.00402000
add dword [ebp - 0x9c8], 0x28
cmp dword [ebp - 0x9c0], esi
je 0x40eb10
lea eax, [ebp - 0x9b0]
mov dword [esp + 8], esi
lea edi, [ebp - 0x558]
mov dword [esp + 0x14], 0x41
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x20
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov eax, 0x99999999
mov ecx, 0x84
mov byte [ebp - 0x9b5], 0x99
rep stosd dword es:[edi], eax
mov eax, 0xffff9999
sub esp, 0x18
mov word [ebp - 0x9b4], ax
lea eax, [ebp - 0x9b5]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x9b4]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x558]
mov dword [esp + 8], eax
lea eax, [ebp - 0x9b0]
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x42b0ec]
sub esp, 0x14
mov ebx, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xbc6
xor eax, eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], str._s_gave_error__ld_n
cmp dword [esi + 0x28], ebx
sete al
mov dword [esp], eax
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xbc8
mov eax, dword [ebp - 0x558]
cmp ebx, eax
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x9c8]
setne al
mov dword [esp + 4], str._s_gave_format__d_n
movzx eax, al
mov dword [esp + 8], edx
add eax, eax
mov dword [esp], eax
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xbca
movzx eax, byte [ebp - 0x54e]
movzx edi, byte [ebp - 0x54d]
movzx ecx, byte [ebp - 0x54f]
mov dword [ebp - 0x9bc], eax
movzx edx, byte [ebp - 0x550]
mov eax, dword [ebp - 0x550]
mov dword [esp + 0x18], edi
mov edi, dword [ebp - 0x9bc]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], edi
mov dword [esp + 8], esi
mov dword [esp + 4], str._s_gave_address__d._d._d._d_n
test ebx, ebx
je 0x40ef80
cmp eax, 0x99999999
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xbce
movzx eax, word [ebp - 0x552]
mov dword [esp], eax
mov edi, dword [ebp - 0x9c4]
call edi
movzx ebx, ax
movzx eax, word [ebp - 0x552]
sub esp, 4
mov dword [esp], eax
call edi
sub esp, 4
cmp ax, 0x9999
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str._s_gave_port__d_n
call fcn.00402000
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xbd0
movzx edx, word [ebp - 0x9b4]
mov dword [esp + 8], esi
cmp dx, 0x9999
mov dword [esp + 0xc], edx
sete al
mov dword [esp + 4], str._s_gave_port__d_n
movzx eax, al
mov dword [esp], eax
call fcn.00402000
call fcn.0040f800
mov edx, 0x99
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0xbd2
movzx eax, byte [ebp - 0x9b5]
jmp 0x40f046
mov eax, dword [0x4179c8]
cmp dword [ebp - 0x928], eax
jne 0x40d5ca
mov eax, dword [0x4179cc]
cmp dword [ebp - 0x924], eax
jne 0x40d5ca
mov eax, dword [0x4179d0]
cmp dword [ebp - 0x920], eax
jne 0x40d5ca
xor eax, eax
jmp 0x40d5cf
mov eax, dword [ebp - 0x928]
cmp dword [ebp - 0x9ac], eax
jne 0x40eeaa
mov eax, dword [ebp - 0x924]
cmp dword [ebp - 0x9a8], eax
jne 0x40eeaa
mov eax, dword [ebp - 0x920]
cmp dword [ebp - 0x9a4], eax
jne 0x40eeaa
xor eax, eax
jmp 0x40eeaf
lea eax, [ebp - 0x558]
mov dword [ebp - 0x9bc], eax
movzx eax, word [ebp - 0x9bc]
mov dword [esp], str._04x
mov dword [esp + 4], eax
call fcn.004013e0
mov ebx, eax
jmp 0x40ee09
mov edi, dword [0x42b150]
xor eax, eax
test edi, edi
sete al
jmp 0x40dcb8
mov eax, dword [ebp - 0x558]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_malloc]
mov dword [esp + 8], 0
mov ecx, eax
lea eax, [ebp - 0x558]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [ebp - 0x9bc], ecx
call dword [0x42b10c]
sub esp, 0xc
mov esi, eax
mov eax, 0xb32
call fcn.00401820
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.GetTcp6Table_buf__size__FALSE__returned__ld__expected_NO_ERROR_n
mov dword [esp], eax
call fcn.00402000
test esi, esi
mov ecx, dword [ebp - 0x9bc]
jne 0x40f3e7
cmp dword [0x412068], 1
jg 0x40f60d
mov dword [esp], ecx
call dword [sym.imp.msvcrt.dll_free]
jmp 0x40e405
mov eax, 0xb28
call fcn.00401820
mov dword [esp], str.GetTcp6Table_is_not_supported_n
call fcn.00401b20
jmp 0x40e405
mov eax, 0xb52
call fcn.00401820
mov dword [esp], str.GetUdp6Table_is_not_supported_n
call fcn.00401b20
jmp 0x40e47c
mov eax, dword [ebp - 0x558]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_malloc]
mov dword [esp + 8], 0
mov edx, eax
lea eax, [ebp - 0x558]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [ebp - 0x9bc], edx
call dword [0x42b108]
sub esp, 0xc
mov edi, eax
mov eax, 0xb5c
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.GetUdp6Table_buf__dwSize__FALSE__returned__ld__expected_NO_ERROR_n
mov dword [esp], eax
call fcn.00402000
test edi, edi
mov edx, dword [ebp - 0x9bc]
jne 0x40f564
cmp dword [0x412068], 1
jle 0x40f564
mov eax, 0xb63
mov dword [ebp - 0x9bc], edx
call fcn.00401820
mov edx, dword [ebp - 0x9bc]
mov eax, dword [edx]
mov dword [esp], str.UDP6_table:__lu_entries_n
mov dword [esp + 4], eax
call fcn.00401b30
mov edx, dword [ebp - 0x9bc]
mov ebx, dword [edx]
test ebx, ebx
je 0x40f564
mov eax, dword [sym.imp.ws2_32.dll_ntohs]
mov dword [ebp - 0x9c0], edx
lea ebx, [edx + 4]
mov esi, edi
mov dword [ebp - 0x9c4], eax
mov eax, 0xb65
call fcn.00401820
movzx eax, word [ebx + 0x14]
mov dword [esp], eax
mov eax, dword [ebp - 0x9c4]
call eax
movzx edi, ax
movzx eax, word [ebx + 0x10]
sub esp, 4
mov dword [esp], eax
mov eax, dword [ebp - 0x9c4]
call eax
sub esp, 4
mov word [ebp - 0x9bc], ax
mov eax, ebx
add ebx, 0x18
call fcn.004016b0
mov dword [esp + 0x10], edi
movzx edx, word [ebp - 0x9bc]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
add esi, 1
mov dword [esp + 0xc], edx
mov dword [esp], str._lu:__s___u:_u_n
call fcn.00401b30
mov eax, dword [ebp - 0x9c0]
cmp esi, dword [eax]
jb 0x40f4f0
mov edx, eax
mov dword [esp], edx
call dword [sym.imp.msvcrt.dll_free]
jmp 0x40e47c
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_free]
jmp 0x40d951
mov eax, 0xbeb
call fcn.00401820
mov dword [esp], str.NotifyUnicastIpAddressChange_not_available._n
call fcn.00401fd0
jmp 0x40ec0b
mov eax, 0xb21
call fcn.00401820
mov dword [esp], str.GetTcp6Table_not_available_n
call fcn.00401fd0
jmp 0x40e405
mov eax, 0xb4c
call fcn.00401820
mov dword [esp], str.GetUdp6Table_not_available_n
call fcn.00401fd0
jmp 0x40e47c
mov eax, 0xb01
call fcn.00401820
mov dword [esp], str.ConvertLengthToIpv4Mask_not_available_n
call fcn.00401fd0
jmp 0x40e38e
mov eax, 0xacb
call fcn.00401820
mov dword [esp], str.GetUnicastIpAddressTable_not_available_n
call fcn.00401fd0
jmp 0x40e228
mov eax, 0xb38
mov dword [ebp - 0x9bc], ecx
call fcn.00401820
mov ecx, dword [ebp - 0x9bc]
mov eax, dword [ecx]
mov dword [esp], str.TCP6_table:__lu_entries_n
mov dword [esp + 4], eax
call fcn.00401b30
mov ecx, dword [ebp - 0x9bc]
mov edi, dword [ecx]
test edi, edi
je 0x40f3e7
mov eax, dword [sym.imp.ws2_32.dll_ntohs]
mov dword [ebp - 0x9d4], ecx
lea ebx, [ecx + 0x20]
mov dword [ebp - 0x9bc], esi
mov dword [ebp - 0x9c4], eax
nop
mov eax, 0xb3b
call fcn.00401820
movzx eax, word [ebx + 0x14]
mov edi, dword [ebx - 0x1c]
mov dword [esp], eax
mov esi, dword [ebp - 0x9c4]
call esi
mov word [ebp - 0x9c0], ax
movzx eax, word [ebx + 0x10]
sub esp, 4
mov dword [esp], eax
mov dword [ebp - 0x9c4], esi
call esi
sub esp, 4
mov word [ebp - 0x9c8], ax
mov eax, ebx
call fcn.004016b0
mov esi, eax
movzx eax, word [ebx - 4]
mov dword [esp], eax
mov edx, dword [ebp - 0x9c4]
call edx
mov word [ebp - 0x9cc], ax
movzx eax, word [ebx - 8]
sub esp, 4
mov dword [esp], eax
mov edx, dword [ebp - 0x9c4]
call edx
sub esp, 4
mov word [ebp - 0x9ce], ax
lea eax, [ebx - 0x18]
add ebx, 0x34
call fcn.004016b0
mov dword [esp + 0x20], edi
movzx ecx, word [ebp - 0x9c0]
mov dword [esp + 0x1c], ecx
movzx ecx, word [ebp - 0x9c8]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ecx
movzx edi, word [ebp - 0x9cc]
mov dword [esp + 0x10], edi
movzx esi, word [ebp - 0x9ce]
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov edi, dword [ebp - 0x9bc]
mov dword [esp], str._lu:_local__s___u:_u_remote__s___u:_u_state__u_n
mov dword [esp + 4], edi
call fcn.00401b30
mov eax, edi
mov edx, dword [ebp - 0x9d4]
add eax, 1
mov dword [ebp - 0x9bc], eax
cmp eax, dword [edx]
jb 0x40f660
mov ecx, edx
jmp 0x40f3e7