Function at 0x4173f0
Capabilities:
Get hostname
Get local ipv4 addresses
Initialize winsock library

Disassembly:
push 0xffffffffffffffff
push 0x44f5cc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x454
mov eax, dword [0x478c30]
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov dword [esp + 0x460], eax
mov dword [esp + 0x10], ebp
call fcn.0041a8c0
lea ecx, [esp + 0x140]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_void_]
xor ebx, ebx
push 0x458284
lea ecx, [esp + 0x144]
mov dword [esp + 0x470], ebx
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::append_unsigned_short_int_const__]
lea eax, [esp + 0x2d0]
push eax
push 2
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x4174fa
push 0xff
lea ecx, [esp + 0x1d0]
push ecx
call dword [sym.imp.WS2_32.dll_gethostname]
push 0x45999c
lea ecx, [esp + 0x144]
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::append_unsigned_short_int_const__]
lea edx, [esp + 0x40]
mov dword [esp + 0x3c], edx
call dword [0x46e0a0]
push eax
lea eax, [esp + 0x1d0]
push eax
lea ecx, [esp + 0x44]
call fcn.00406560
mov ecx, dword [esp + 0x3c]
push ecx
lea ecx, [esp + 0x144]
mov byte [esp + 0x470], 1
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::append_unsigned_short_int_const__]
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x40]
cmp eax, edx
mov byte [esp + 0x46c], bl
je 0x4174e2
push eax
call dword [sym.imp.MSVCR71.dll_free]
add esp, 4
push 0x459998
lea ecx, [esp + 0x144]
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::append_unsigned_short_int_const__]
call dword [sym.imp.WS2_32.dll_WSACleanup]
cmp dword [esp + 0x158], 8
mov eax, dword [esp + 0x144]
jae 0x417512
lea eax, [esp + 0x144]
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 0x44]
lea ecx, [esp + 0x15c]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_void_]
lea eax, [esp + 0x1a0]
push eax
mov byte [esp + 0x470], 2
call dword [sym.imp.RPCRT4.dll_UuidCreate]
cmp eax, ebx
je 0x417549
cmp eax, 0x720
jne 0x4175bd
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1a4]
push edx
mov dword [esp + 0x1c], ebx
call dword [sym.imp.RPCRT4.dll_UuidToStringW]
test eax, eax
jne 0x4175bd
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x40]
push ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], eax
call fcn.004064a0
mov edx, dword [esp + 0x3c]
push edx
lea ecx, [esp + 0x160]
mov byte [esp + 0x470], 3
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::operator_unsigned_short_int_const__]
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x40]
cmp eax, ecx
mov byte [esp + 0x46c], 2
je 0x4175b2
push eax
call dword [sym.imp.MSVCR71.dll_free]
add esp, 4
lea edx, [esp + 0x14]
push edx
call dword [sym.imp.RPCRT4.dll_RpcStringFreeW]
cmp dword [esp + 0x170], ebx
jne 0x417618
push ebx
call dword [sym.imp.MSVCR71.dll_time]
push eax
call dword [sym.imp.MSVCR71.dll_srand]
mov edi, dword [sym.imp.MSVCR71.dll_rand]
add esp, 8
xor esi, esi
nop
call edi
cdq
mov ecx, 0x19
idiv ecx
add edx, 0x42
mov word [esp + esi*2 + 0x178], dx
inc esi
cmp esi, 0x13
jb 0x4175e0
lea edx, [esp + 0x178]
push edx
lea ecx, [esp + 0x160]
mov word [esp + 0x1a2], bx
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::operator_unsigned_short_int_const__]
cmp dword [esp + 0x174], 8
mov eax, dword [esp + 0x160]
jae 0x417630
lea eax, [esp + 0x160]
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 0x50]
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x27]
push ecx
mov dword [esp + 0x2c], ebx
call sub.iphlpapi.dll_GetAdaptersInfo
mov eax, dword [esp + 0x24]
cmp eax, ebx
jbe 0x4178ab
push eax
call sub.MFC71U.DLL_SerializeElements
mov esi, eax
add esp, 4
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], 0x457028
lea edx, [esp + 0x24]
push edx
push esi
mov byte [esp + 0x474], 4
call sub.iphlpapi.dll_GetAdaptersInfo
cmp eax, ebx
jne 0x41789e
lea ecx, [esp + 0x28]
call fcn.00406a90
mov dword [esp + 0x2c], eax
mov byte [eax + 0x29], 1
mov eax, dword [esp + 0x2c]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [eax], eax
mov eax, dword [esp + 0x2c]
mov dword [eax + 8], eax
mov dword [esp + 0x30], ebx
test esi, esi
mov byte [esp + 0x46c], 5
mov ebx, esi
je 0x417856
jmp 0x4176d0
lea eax, [esp + 0x1d0]
lea edi, [ebx + 0x1b0]
mov dword [esp + 0x1cc], eax
call dword [0x46e0a0]
test edi, edi
mov ebp, eax
jne 0x4176f9
mov dword [esp + 0x1cc], edi
jmp 0x41774d
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
inc esi
cmp esi, 0x80
jle 0x41772d
lea ecx, [esi + esi]
push ecx
call dword [sym.imp.MSVCR71.dll_malloc]
add esp, 4
test eax, eax
mov dword [esp + 0x1cc], eax
jne 0x417734
push 0x8007000e
call fcn.00401fa0
mov eax, dword [esp + 0x1cc]
push esi
push eax
push esi
push edi
push 0
push ebp
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x4179a7
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x1cc]
push edx
lea ecx, [esp + 0x17c]
mov byte [esp + 0x470], 6
call fcn.00443960
mov eax, dword [esp + 0x1cc]
lea ecx, [esp + 0x1d0]
cmp eax, ecx
mov byte [esp + 0x46c], 8
je 0x41778d
push eax
call dword [sym.imp.MSVCR71.dll_free]
add esp, 4
push 1
lea ecx, [esp + 0x17c]
call fcn.00443700
xor edx, edx
mov dl, al
movzx ax, ah
and edx, 0xff
mov ecx, edx
cmp cx, 0xa
je 0x4177e2
cmp cx, 0xac
jne 0x4177c6
cmp ax, 0x10
jl 0x417833
cmp ax, 0x1f
jle 0x4177e2
jmp 0x417833
cmp cx, 0xc0
jne 0x4177d5
cmp ax, 0xa8
je 0x4177e2
jmp 0x417833
cmp cx, 0xa9
jne 0x417833
cmp ax, 0xfe
jne 0x417833
mov eax, dword [ebx + 0x190]
push eax
lea ecx, [ebx + 0x194]
push ecx
lea edx, [esp + 0x1b8]
push edx
call fcn.00443810
add esp, 0xc
lea eax, [esp + 0x1b0]
push eax
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x474], 9
call fcn.004071c0
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x46c], 8
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
mov ebx, dword [ebx]
lea ecx, [esp + 0x17c]
mov byte [esp + 0x46c], 5
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
test ebx, ebx
jne 0x4176d0
mov ebp, dword [esp + 0x10]
sub esp, 0xc
lea edx, [esp + 0x34]
mov dword [esp + 0x1c], esp
mov ecx, esp
push edx
call fcn.004073e0
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x74]
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
push eax
push ecx
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x34]
mov byte [esp + 0x478], 4
call fcn.00405920
mov edx, dword [esp + 0x2c]
push edx
call sub.MFC71U.DLL_CNoTrackObject::operator_new
add esp, 4
xor ebx, ebx
cmp esi, ebx
je 0x4178ab
push esi
call sub.MFC71U.DLL_operator_new
add esp, 4
mov byte [esp + 0x10], 0
mov dword [esp + 0x1c], ebx
lea eax, [esp + 0x1c]
push eax
push 0x4580b0
push 0x17
push ebx
push 0x45825c
mov byte [esp + 0x480], 0xa
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jl 0x41792f
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x38], ebx
mov ecx, dword [eax]
push eax
mov byte [esp + 0x474], 0xb
call dword [ecx + 0x1c]
test eax, eax
jl 0x417919
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x34]
push edx
push eax
call dword [ecx + 0x14]
test eax, eax
jl 0x417919
cmp dword [esp + 0x34], ebx
setg al
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x14]
cmp eax, ebx
mov byte [esp + 0x46c], 0xa
je 0x41792f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x10]
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 0x8c]
mov eax, dword [esp + 0x1c]
cmp eax, ebx
mov byte [esp + 0x46c], 2
je 0x417955
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x15c]
mov byte [esp + 0x46c], 0
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea ecx, [esp + 0x140]
mov dword [esp + 0x46c], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
mov ecx, dword [esp + 0x464]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x460]
call fcn.0044d44d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x460
ret
jmp fcn.00406160