Function at 0x10315a8
Capabilities:
Get hostname

Disassembly:
mov eax, 0x103aa7a
call fcn.01032268
sub esp, 0xac
mov eax, dword [0x103ff58]
push ebx
and dword [ebp - 0x3c], 0
push esi
push edi
mov dword [ebp - 0x10], esp
push dword [sym.imp.MSVCP60.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 dword [ebp - 0x14], eax
push dword [sym.imp.MSVCP60.dll____F__basic_string_GU__char_traits_G_std__V__allocator_G_2__std__QAEXXZ]
mov eax, dword [ebp + 0x14]
push 3
push 0x10
pop edi
mov dword [ebp - 0x74], eax
push edi
lea eax, [ebp - 0xa8]
push eax
mov esi, ecx
mov ebx, edx
call fcn.010323ff
and dword [ebp - 4], 0
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x78], edi
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
test eax, eax
jne 0x1031619
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x3c], eax
jmp 0x1031999
xor eax, eax
lea edi, [ebp - 0x35]
stosb byte es:[edi], al
lea eax, [ebp - 0x35]
lea ecx, [ebp - 0x4c]
push eax
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_class_std::allocator_unsigned_short_int__const__]
cmp dword [ebp + 0xc], 0
jne 0x10317cd
mov eax, dword [esi + 0x158]
add eax, 0x108
push eax
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 1
call fcn.01030498
test eax, eax
je 0x103196c
lea eax, [esi + 0x388]
push eax
lea ecx, [ebp - 0x98]
call fcn.01030498
test eax, eax
je 0x103196c
lea eax, [esi + 0x390]
push eax
lea ecx, [ebp - 0x88]
call fcn.01030498
test eax, eax
je 0x103196c
cmp dword [ebp + 8], 0
je 0x10316ee
mov eax, dword [ebp - 0xa4]
test eax, eax
mov edi, 0x4000100b
mov dword [ebp - 0x70], ebx
jne 0x10316af
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
mov dword [ebp - 0x6c], eax
jmp 0x10316b7
mov dword [ebp - 0x6c], eax
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x94]
test ecx, ecx
mov dword [ebp - 0x64], eax
je 0x10316cd
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x84]
test ecx, ecx
mov dword [ebp - 0x60], eax
je 0x10316dd
mov dword [ebp - 0x60], ecx
mov eax, dword [esi + 0x15c]
mov dword [ebp - 0x5c], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x58], eax
jmp 0x1031764
lea edx, [ebp - 0x4c]
mov edi, 0x4000100c
call fcn.010305f0
test eax, eax
je 0x103196c
mov eax, dword [ebp - 0xa4]
test eax, eax
mov dword [ebp - 0x70], ebx
jne 0x103171a
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
mov dword [ebp - 0x6c], eax
jmp 0x1031722
mov dword [ebp - 0x6c], eax
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x94]
test ecx, ecx
mov dword [ebp - 0x64], eax
je 0x1031738
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x84]
test ecx, ecx
mov dword [ebp - 0x60], eax
je 0x1031748
mov dword [ebp - 0x60], ecx
mov ecx, dword [esi + 0x15c]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebp - 0x48]
test ecx, ecx
mov dword [ebp - 0x54], eax
je 0x1031764
mov dword [ebp - 0x54], ecx
lea eax, [ebp - 0x70]
push eax
push 0
push dword [ebp - 0x74]
push 0x800
push edi
push 0
push 0x2900
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
test eax, eax
je 0x103196c
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0
call dword [sym.imp.MSVCP60.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_]
xor esi, esi
inc esi
push dword [sym.imp.MSVCP60.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_]
or dword [ebp - 4], 0xffffffff
push 3
push 0x10
lea eax, [ebp - 0xa8]
push eax
call fcn.0103239a
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
mov eax, esi
call fcn.01031d91
pop edi
pop esi
pop ebx
leave
ret 0x10
lea eax, [esi + 0x108]
xor edi, edi
push eax
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 2
mov dword [ebp - 0x50], edi
call fcn.01030498
test eax, eax
je 0x103196c
cmp dword [ebp + 8], edi
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x70], ebx
mov eax, 0x4000100d
jne 0x1031804
inc eax
cmp ecx, edi
jne 0x103180e
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
mov dword [ebp - 0x6c], ecx
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x68], ecx
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0x64], ecx
lea ecx, [ebp - 0x70]
push ecx
push edi
lea ecx, [ebp - 0x50]
push ecx
push 0x800
push eax
push edi
push 0x2900
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
cmp eax, edi
je 0x103196c
push dword [ebp - 0x50]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP60.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__]
push dword [ebp - 0x50]
mov dword [ebp - 4], 2
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [esi + 0xe0], edi
je 0x10318be
lea eax, [ebp - 0x4c]
push eax
push edi
xor ecx, ecx
call fcn.01030a32
test eax, eax
je 0x103196c
lea edi, [esi + 0x90]
mov ebx, dword [edi]
jmp 0x10318aa
mov ecx, dword [ebx + 8]
cmp dword [ecx + 0x608], 0x100
jne 0x10318a8
lea eax, [ebp - 0x4c]
push eax
push 0
call fcn.01030a32
test eax, eax
je 0x103196c
mov ebx, dword [ebx]
cmp ebx, edi
jne 0x1031886
push 0x1004974
lea ecx, [ebp - 0x4c]
call dword [sym.imp.MSVCP60.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__]
xor edi, edi
cmp dword [esi + 0xe8], edi
je 0x103190b
lea eax, [ebp - 0x4c]
push eax
push 1
xor ecx, ecx
call fcn.01030a32
test eax, eax
je 0x103196c
lea edi, [esi + 0x90]
mov ebx, dword [edi]
jmp 0x1031905
mov ecx, dword [ebx + 8]
cmp dword [ecx + 0x608], 0x80
jne 0x1031903
lea eax, [ebp - 0x4c]
push eax
push 1
call fcn.01030a32
test eax, eax
je 0x103196c
mov ebx, dword [ebx]
cmp ebx, edi
jne 0x10318e5
xor edi, edi
cmp dword [ebp + 0x10], edi
je 0x1031954
cmp dword [esi + 0x80], edi
je 0x1031954
push 0x1004ac0
lea ecx, [ebp - 0x4c]
call dword [sym.imp.MSVCP60.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__]
cmp dword [esi + 0x34], edi
jne 0x1031932
push 0x29a
jmp 0x1031937
push 0x299
call fcn.0102834e
lea ecx, [ebp - 0x4c]
push eax
call dword [sym.imp.MSVCP60.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__]
push 0x1004974
lea ecx, [ebp - 0x4c]
call dword [sym.imp.MSVCP60.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 [ebp - 0x44]
lea eax, [eax + eax + 2]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, edi
mov ecx, dword [ebp - 0x74]
mov dword [ecx], eax
jne 0x1031977
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x3c], eax
jmp 0x103198c
mov ecx, dword [ebp - 0x48]
cmp ecx, edi
jne 0x1031984
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0
call dword [sym.imp.MSVCP60.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_]
xor esi, esi
cmp dword [ebp - 0x3c], esi
je 0x1031795
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1031798