Function at 0x4580e0
Capabilities:
Get hostname

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fb942
mov eax, dword fs:[0]
push eax
sub esp, 0x4a0
mov eax, dword [0x5365f0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x4a0], eax
mov eax, dword [eax + 8]
xor esi, esi
mov dword [ebp - 0x4a4], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x4ac], ecx
mov dword [ebp - 0x4a8], esi
cmp eax, esi
je 0x458197
push eax
call dword [sym.imp.OLEAUT32.dll_SysAllocStringByteLen]
lea ebx, [eax + 2]
shr ebx, 1
xor ecx, ecx
mov eax, ebx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004d4853
mov esi, eax
add esp, 4
test esi, esi
je 0x458197
test ebx, ebx
je 0x45817f
xor eax, eax
movzx edx, ax
mov eax, edx
shl edx, 0x10
or eax, edx
mov ecx, ebx
shr ecx, 1
mov edi, esi
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
mov eax, dword [ebp - 0x4a0]
mov eax, dword [eax + 8]
lea ecx, [ebx - 1]
push ecx
push eax
push ebx
push esi
call fcn.004d57db
add esp, 0x10
mov edx, dword [ebp - 0x4a4]
xor edi, edi
cmp dword [edx + 0x18], edi
je 0x45842a
cmp esi, edi
je 0x45842a
xor eax, eax
mov word [ebp - 0x42c], ax
mov eax, esi
mov dword [ebp - 0x418], 7
mov dword [ebp - 0x41c], edi
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x4581d0
sub eax, edx
sar eax, 1
push eax
mov eax, esi
lea esi, [ebp - 0x42c]
call fcn.004027c0
mov dword [ebp - 4], edi
push 1
push 0x504a74
xor edx, edx
mov ebx, esi
call fcn.00404170
cmp eax, 0xffffffff
jne 0x458375
xor eax, eax
movzx edx, ax
mov eax, edx
shl edx, 0x10
or eax, edx
mov ecx, 0x100
lea edi, [ebp - 0x410]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x4a0]
push eax
lea ecx, [ebp - 0x410]
push ecx
push 1
mov dword [ebp - 0x4a0], 0x200
call dword [sym.imp.KERNEL32.dll_GetComputerNameExW]
lea eax, [ebp - 0x410]
lea ecx, [ebp - 0x464]
call fcn.00401c60
mov byte [ebp - 4], 1
mov eax, 0x504a74
lea ecx, [ebp - 0x448]
call fcn.00401c60
mov byte [ebp - 4], 2
lea edx, [ebp - 0x448]
push edx
lea eax, [ebp - 0x464]
push eax
lea ecx, [ebp - 0x480]
push ecx
call fcn.0045b570
mov bl, 3
mov byte [ebp - 4], bl
mov edx, esi
push edx
lea ecx, [ebp - 0x49c]
push ecx
mov ecx, eax
call fcn.0045b630
add esp, 0x14
mov byte [ebp - 4], 4
mov edi, eax
call fcn.00402140
mov byte [ebp - 4], bl
mov esi, 8
cmp dword [ebp - 0x488], esi
jb 0x4582c8
mov edx, dword [ebp - 0x49c]
push edx
call fcn.004d5559
add esp, 4
mov edi, 7
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x488], edi
mov dword [ebp - 0x48c], ebx
mov word [ebp - 0x49c], ax
mov byte [ebp - 4], 2
cmp dword [ebp - 0x46c], esi
jb 0x4582ff
mov ecx, dword [ebp - 0x480]
push ecx
call fcn.004d5559
add esp, 4
xor edx, edx
mov dword [ebp - 0x46c], edi
mov dword [ebp - 0x470], ebx
mov word [ebp - 0x480], dx
mov byte [ebp - 4], 1
cmp dword [ebp - 0x434], esi
jb 0x45832f
mov eax, dword [ebp - 0x448]
push eax
call fcn.004d5559
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x434], edi
mov dword [ebp - 0x438], ebx
mov word [ebp - 0x448], cx
mov byte [ebp - 4], bl
cmp dword [ebp - 0x450], esi
jb 0x45835e
mov edx, dword [ebp - 0x464]
push edx
call fcn.004d5559
add esp, 4
xor eax, eax
mov dword [ebp - 0x450], edi
mov dword [ebp - 0x454], ebx
mov word [ebp - 0x464], ax
jmp 0x458377
xor ebx, ebx
mov esi, dword [ebp - 0x4a4]
mov eax, dword [esi + 0x18]
add eax, 0x290
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x4a0], esp
push ebx
lea eax, [ebp - 0x42c]
xor edx, edx
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], ebx
or eax, 0xffffffff
mov word [ecx], dx
call fcn.004022e0
mov byte [ebp - 4], 5
mov ecx, dword [esi + 0x18]
push ecx
mov byte [ebp - 4], bl
call fcn.0042a9d0
mov esi, dword [esi + 0x18]
mov edi, eax
add esi, 0x290
push esi
mov dword [ebp - 0x4a8], edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x418], 8
jb 0x4583fd
mov edx, dword [ebp - 0x42c]
push edx
call fcn.004d5559
add esp, 4
xor eax, eax
mov dword [ebp - 0x418], 7
mov dword [ebp - 0x41c], ebx
mov word [ebp - 0x42c], ax
cmp edi, ebx
je 0x45842a
mov ecx, dword [ebp - 0x4ac]
mov dword [ecx], 0x1b58
mov eax, edi
jmp 0x45843c
mov edx, dword [ebp - 0x4ac]
mov eax, dword [ebp - 0x4a8]
mov dword [edx], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004d5564
mov esp, ebp
pop ebp
ret 8