Function at 0x1001ec90
Capabilities:
Get hostname
Resolve dns

Disassembly:
push 0xffffffffffffffff
push 0x10036bcc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x88
mov al, byte [esp + 3]
push ebx
push ebp
push esi
xor ebx, ebx
push edi
push ebx
lea ecx, [esp + 0x18]
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edi, 0x1005a050
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0xa4], ebx
mov ebp, ecx
lea ecx, [esp + 0x18]
push ebp
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x1001ed15
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov edx, ecx
mov esi, 0x1005a050
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Eos_unsigned_int_]
lea eax, [esp + 0x48]
push 0x50
push eax
call sub.WSOCK32.dll_gethostname
cmp eax, 0xffffffff
je 0x1001eec5
lea edx, [esp + 0x48]
push edx
call sub.WSOCK32.dll_gethostbyname
cmp eax, ebx
mov dword [esp + 0x24], eax
jne 0x1001ed66
mov esi, dword [esp + 0xa8]
mov al, byte [esp + 0x14]
push ebx
mov ecx, esi
mov byte [esi], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea eax, [esp + 0x14]
mov edx, dword [ecx]
push edx
push ebx
push eax
jmp 0x1001eeea
mov eax, dword [eax + 0xc]
xor ecx, ecx
mov dword [esp + 0x28], ecx
xor edx, edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], ecx
mov ecx, dword [eax]
mov dword [esp + 0x40], edx
cmp ecx, ebx
mov dword [esp + 0x44], edx
je 0x1001ee1f
mov ebp, dword [sym.imp.MSVCRT.dll_strncmp]
mov eax, dword [ebx + eax]
mov eax, dword [eax]
push eax
call sub.WSOCK32.dll_inet_ntoa
mov edi, eax
push 0x1005510c
push edi
call dword [sym.imp.MSVCRT.dll_strcspn]
mov esi, eax
push esi
push 0x10055108
push edi
call ebp
add esp, 0x14
test eax, eax
je 0x1001ee0d
push esi
push 0x10055104
push edi
call ebp
add esp, 0xc
test eax, eax
je 0x1001edec
push esi
push 0x10055100
push edi
call ebp
add esp, 0xc
lea edx, [esp + 0x28]
test eax, eax
jne 0x1001edf0
lea edx, [esp + 0x38]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x24]
add ebx, 4
mov eax, dword [ecx + 0xc]
cmp dword [ebx + eax], 0
jne 0x1001ed9d
xor ebx, ebx
mov al, byte [esp + 0x28]
test al, al
je 0x1001ee74
lea edi, [esp + 0x28]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x18]
push ebp
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x1001ed3c
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x28]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Eos_unsigned_int_]
jmp 0x1001ed3c
mov al, byte [esp + 0x38]
test al, al
je 0x1001ef0b
lea edi, [esp + 0x38]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x18]
push ebp
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x1001eec5
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x38]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
mov byte [eax + ebp], 0
mov esi, dword [esp + 0xa8]
mov cl, byte [esp + 0x14]
push ebx
mov byte [esi], cl
mov ecx, esi
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea ecx, [esp + 0x14]
mov eax, dword [edx]
push eax
push ebx
push ecx
mov ecx, esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [esp + 0x18]
mov dword [esp + 0xa4], 0xffffffff
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
jmp 0x1001ef5b
mov esi, dword [esp + 0xa8]
mov dl, byte [esp + 0x13]
xor edi, edi
or ecx, 0xffffffff
xor eax, eax
mov byte [esi], dl
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
mov ecx, esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov ecx, dword [esp + 0x18]
cmp ecx, ebx
je 0x1001ef5b
mov al, byte [ecx - 1]
test al, al
je 0x1001ef51
cmp al, 0xff
je 0x1001ef51
dec al
mov byte [ecx - 1], al
jmp 0x1001ef5b
dec ecx
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov ecx, dword [esp + 0x98]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x94
ret 4