Function at 0x45bf58
Capabilities:
Get hostname

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x64
mov eax, dword [0x46a010]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
push ebx
push esi
push edi
mov dword [ebp - 0x30], eax
xor esi, esi
mov eax, dword [ebp + 0x1c]
mov ebx, ecx
push 0x2c
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x5c]
push esi
push eax
mov dword [ebp - 0x60], esi
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x28], esi
xor eax, eax
lea edi, [ebp - 0x22]
mov word [ebp - 0x24], ax
push 7
pop ecx
rep stosd dword es:[edi], eax
push 0x40a410
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebx + 0x7c], eax
test eax, eax
jne 0x45c017
mov eax, dword [0x46a020]
mov edi, 0x80070000
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x46a020
je 0x45c003
test byte [eax + 0x1c], 8
je 0x45c003
cmp byte [eax + 0x19], 2
jb 0x45c003
call esi
test eax, eax
jle 0x45bfe2
movzx eax, ax
or eax, edi
push eax
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xe
mov edx, 0x40ab90
pop ecx
call fcn.00412c68
call esi
mov esi, eax
test esi, esi
jle 0x45c3be
movzx esi, si
jmp 0x45c3bc
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x40a428
push eax
call edi
mov dword [ebx + 0x84], eax
test eax, eax
jne 0x45c075
mov eax, dword [0x46a020]
mov edi, 0x80070000
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x46a020
je 0x45c003
test byte [eax + 0x1c], 8
je 0x45c003
cmp byte [eax + 0x19], 2
jb 0x45c003
call esi
test eax, eax
jle 0x45c05d
movzx eax, ax
or eax, edi
push eax
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xf
jmp 0x45bff8
push 0x40a440
push dword [ebx + 0x7c]
call edi
mov dword [ebx + 0x88], eax
test eax, eax
jne 0x45c0de
mov eax, dword [0x46a020]
mov edi, 0x80070000
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x46a020
je 0x45c003
test byte [eax + 0x1c], 8
je 0x45c003
cmp byte [eax + 0x19], 2
jb 0x45c003
call esi
test eax, eax
jle 0x45c0c3
movzx eax, ax
or eax, edi
push eax
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x10
jmp 0x45bff8
push 0x40a458
push dword [ebx + 0x7c]
call edi
mov dword [ebx + 0x8c], eax
test eax, eax
jne 0x45c147
mov eax, dword [0x46a020]
mov edi, 0x80070000
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x46a020
je 0x45c003
test byte [eax + 0x1c], 8
je 0x45c003
cmp byte [eax + 0x19], 2
jb 0x45c003
call esi
test eax, eax
jle 0x45c12c
movzx eax, ax
or eax, edi
push eax
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x11
jmp 0x45bff8
mov eax, dword [ebp + 8]
mov dword [ebx + 0x68], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0x44], eax
mov eax, dword [ebp + 0x14]
mov dword [ebx + 0x48], eax
mov eax, dword [ebp + 0x20]
mov dword [ebx + 0x74], eax
mov eax, dword [ebp + 0x24]
mov dword [ebx + 0x9c], eax
mov eax, dword [ebp - 0x30]
cmp word [eax], si
jne 0x45c1f2
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0x10
push eax
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
test eax, eax
jne 0x45c1ef
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [0x46a020]
cmp eax, 0x46a020
je 0x45c1d0
test byte [eax + 0x1c], 8
je 0x45c1d0
cmp byte [eax + 0x19], 2
jb 0x45c1d0
push esi
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
mov edx, 0x40ab90
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x12
pop ecx
call fcn.00412c68
test esi, esi
jle 0x45c1df
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x45c3be
mov esi, 0x80004005
jmp 0x45c3be
lea eax, [ebp - 0x24]
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push eax
call edi
mov dword [ebx + 0x70], eax
cmp eax, esi
jne 0x45c246
mov eax, dword [0x46a020]
mov esi, 0x8007000e
cmp eax, 0x46a020
je 0x45c3be
test byte [eax + 0x1c], 8
je 0x45c3be
cmp byte [eax + 0x19], 2
jb 0x45c3be
push esi
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x13
jmp 0x45c2fe
push dword [ebp - 0x2c]
call edi
mov dword [ebx + 0x78], eax
test eax, eax
jne 0x45c293
mov eax, dword [0x46a020]
mov esi, 0x8007000e
cmp eax, 0x46a020
je 0x45c3be
test byte [eax + 0x1c], 8
je 0x45c3be
cmp byte [eax + 0x19], 2
jb 0x45c3be
push esi
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x14
jmp 0x45c2fe
push 0x10
call dword [sym.imp.msvcrt.dll_void____cdecl_operator_new_unsigned_int_]
pop ecx
mov ecx, eax
test ecx, ecx
je 0x45c2b6
lea eax, [ebx + 8]
mov dword [ecx], 0x40af3c
mov dword [ecx + 4], eax
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], esi
jmp 0x45c2b8
mov ecx, esi
mov dword [ebx + 0x28], ecx
test ecx, ecx
jne 0x45c30e
mov eax, dword [0x46a020]
mov esi, 0x8007000e
cmp eax, 0x46a020
je 0x45c3be
test byte [eax + 0x1c], 8
je 0x45c3be
cmp byte [eax + 0x19], 2
jb 0x45c3be
push esi
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x15
mov edx, 0x40ab90
pop ecx
call fcn.00412c68
jmp 0x45c3be
mov eax, dword [ebx + 0x68]
push 0x7f00
push esi
mov dword [ebp - 0x60], 0x30
mov dword [ebp - 0x58], 0x45d93e
mov dword [ebp - 0x4c], eax
call dword [sym.imp.USER32.dll_LoadCursorW]
push 5
mov dword [ebp - 0x44], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x60]
push eax
mov dword [ebp - 0x38], 0x40ab58
call dword [sym.imp.USER32.dll_RegisterClassExW]
test ax, ax
jne 0x45c3be
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp ebx, 0x582
je 0x45c3be
test ebx, ebx
je 0x45c3be
mov eax, dword [0x46a020]
mov edi, 0x80070000
cmp eax, 0x46a020
je 0x45c3b1
test byte [eax + 0x1c], 8
je 0x45c3b1
cmp byte [eax + 0x19], 2
jb 0x45c3b1
test ebx, ebx
jg 0x45c38b
mov eax, ebx
jmp 0x45c390
movzx eax, bx
or eax, edi
push eax
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
mov edx, 0x40ab90
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x16
pop ecx
call fcn.00412c68
test ebx, ebx
jg 0x45c3b9
mov esi, ebx
jmp 0x45c3be
movzx esi, bx
or esi, edi
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00468719
mov esp, ebp
pop ebp
ret 0x20