Function at 0x5005ef2c
Capabilities:
Get hostname

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa4
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x18], ecx
mov esi, edx
mov ebx, eax
lea eax, [ebp - 0x14]
mov edx, dword [sym.rtl120.bpl___xp_11tagMULTI_QI]
call sym.rtl120.bpl__System__InitializeRecord_qqrpvt1
xor eax, eax
push ebp
push 0x5005f0ed
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [sym.rtl120.bpl__Comobj_CoCreateInstanceEx], 0
jne 0x5005ef80
mov ecx, dword [sym.rtl120.bpl__Comconst__SDCOMNotInstalled]
mov dl, 1
mov eax, dword [sym.rtl120.bpl__Sysutils_Exception_]
call sym.rtl120.bpl__Sysutils_Exception__bctr_qqrp20System_TResStringRec
call sym.rtl120.bpl__System__RaiseExcept_qqrv
lea eax, [ebp - 0x2c]
xor ecx, ecx
mov edx, 0x10
call sym.rtl120.bpl__System__FillChar_qqrpvib
mov eax, ebx
call sym.rtl120.bpl__System__WStrToPWChar_qqrx17System_WideString
mov dword [ebp - 0x28], eax
push esi
mov esi, 0x5005f0fc
lea edi, [ebp - 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x10]
call sym.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, ebx
test eax, eax
je 0x5005efc7
sub eax, 4
mov eax, dword [eax]
shr eax, 1
test eax, eax
jle 0x5005f093
mov dword [ebp - 0x1c], 0x20
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x5c]
push eax
call sub.kernel32.dll_GetComputerNameW
test eax, eax
je 0x5005f07f
lea eax, [ebp - 4]
lea edx, [ebp - 0x5c]
mov ecx, 0x10
call sym.rtl120.bpl__System__UStrFromWArray_qqrr20System_UnicodeStringpbi
lea eax, [ebp - 8]
mov edx, ebx
call sym.rtl120.bpl__System__UStrFromWStr_qqrr20System_UnicodeStringx17System_WideString
mov eax, dword [ebp - 4]
test eax, eax
je 0x5005f022
mov edx, eax
sub edx, 0xa
cmp word [edx], 2
je 0x5005f022
lea eax, [ebp - 4]
mov edx, dword [ebp - 4]
call sym.rtl120.bpl__System__InternalUStrFromLStr_qqrr20System_UnicodeStringx27System__AnsiStringT_us_i0__
mov ebx, eax
test ebx, ebx
je 0x5005f02d
sub ebx, 4
mov ebx, dword [ebx]
mov eax, dword [ebp - 8]
test eax, eax
je 0x5005f04a
mov edx, eax
sub edx, 0xa
cmp word [edx], 2
je 0x5005f04a
lea eax, [ebp - 8]
mov edx, dword [ebp - 8]
call sym.rtl120.bpl__System__InternalUStrFromLStr_qqrr20System_UnicodeStringx27System__AnsiStringT_us_i0__
mov edi, eax
test edi, edi
je 0x5005f055
sub edi, 4
mov edi, dword [edi]
push edi
mov eax, dword [ebp - 8]
call sym.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
push ebx
mov eax, dword [ebp - 4]
call sym.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
push 1
push 0x400
call sub.kernel32.dll_CompareStringW_1
sub eax, 2
test eax, eax
sete al
jmp 0x5005f081
xor eax, eax
test al, al
je 0x5005f08c
mov ebx, 0x15
jmp 0x5005f098
mov ebx, 0x10
jmp 0x5005f098
mov ebx, 0x15
lea eax, [ebp - 0x14]
push eax
push 1
lea eax, [ebp - 0x2c]
push eax
push ebx
push 0
push esi
call dword [sym.rtl120.bpl__Comobj_CoCreateInstanceEx]
call sym.rtl120.bpl__Comobj_OleCheck_qqrl
mov eax, dword [ebp - 0xc]
call sym.rtl120.bpl__Comobj_OleCheck_qqrl
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x10]
call sym.rtl120.bpl__System__IntfCopy_qqrr45System__DelphiInterface_t17System_IInterface_x45System__DelphiInterface_t17System_IInterfac
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5005f0f4
lea eax, [ebp - 0x14]
mov edx, dword [sym.rtl120.bpl___xp_11tagMULTI_QI]
call sym.rtl120.bpl__System__FinalizeRecord_qqrpvt1
lea eax, [ebp - 8]
mov edx, 2
call sym.rtl120.bpl__System__UStrArrayClr_qqrpvi
ret