Function at 0x45c8b0
Capabilities:
Get hostname
Resolve dns

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
mov eax, dword [0x4f5568]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x4f914c], 0
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov dword [ebp - 0x11c], edi
je 0x45c911
mov eax, dword [0x4fd264]
cmp eax, 0xc
jge 0x45c911
inc eax
mov ecx, 0x4fd270
mov dword [0x4fd264], eax
sub esi, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [esi + ecx - 1], al
test al, al
jne 0x45c8f1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004aca59
mov esp, ebp
pop ebp
ret 8
push 0x100
lea eax, [ebp - 0x110]
mov dword [0x4fd264], 0
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
je 0x45c93f
push dword [ebp + 0xc]
push str.Host_name_unavailable
push esi
jmp 0x45cb30
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov ebx, eax
test ebx, ebx
jne 0x45c960
push dword [ebp + 0xc]
push str.IP_address_unavailable
push esi
jmp 0x45cb30
mov byte [esi], 0
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x118], 0
cmp dword [eax], 0
je 0x45ca4f
xor ecx, ecx
mov dword [ebp - 0x114], ecx
xor eax, eax
xor edi, edi
cmp ax, word [ebx + 0xa]
jge 0x45c9dd
jmp 0x45c990
mov eax, dword [ebx + 0xc]
mov eax, dword [ecx + eax]
movzx eax, byte [eax + edi]
push eax
lea eax, [ebp - 0xc]
push 0x4e1758
push eax
call fcn.004ad5d8
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45c9b1
mov ecx, dword [ebp + 0xc]
sub eax, edx
sub ecx, eax
lea eax, [ebp - 0xc]
dec ecx
push ecx
push eax
push esi
call fcn.004aca70
movsx eax, word [ebx + 0xa]
inc edi
mov ecx, dword [ebp - 0x114]
add esp, 0xc
cmp edi, eax
jl 0x45c990
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45c9e2
sub ecx, edx
mov byte [esi + ecx - 1], al
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x114]
cmp dword [ecx + eax + 4], 0
je 0x45ca22
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ca04
mov eax, dword [ebp + 0xc]
sub ecx, edx
sub eax, ecx
dec eax
push eax
push 0x4e175c
push esi
call fcn.004aca70
add esp, 0xc
mov edx, dword [ebp - 0x118]
mov eax, dword [ebx + 0xc]
inc edx
mov dword [ebp - 0x118], edx
lea ecx, [edx*4]
cmp dword [ecx + eax], 0
mov dword [ebp - 0x114], ecx
jne 0x45c981
mov edi, dword [ebp - 0x11c]
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ca54
sub ecx, edx
cmp ecx, 0x200
jae 0x45cb38
mov ecx, dword [edi]
mov eax, dword [ecx]
call dword [eax + 0x20]
test eax, eax
jne 0x45cb38
cmp byte [0x4f914c], al
je 0x45caf0
mov ecx, 0x4fd270
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x45caa7
test dl, dl
je 0x45caa3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x45caa7
add eax, 2
add ecx, 2
test dl, dl
jne 0x45ca87
xor eax, eax
jmp 0x45caac
sbb eax, eax
or eax, 1
test eax, eax
je 0x45caf0
push 0x4fd270
push esi
push str.vncmenu.cpp_:_IP_interface_change_detected__s__s_n
push 0
push 0x4f6c50
call fcn.00414f90
mov ecx, dword [edi]
add esp, 0x14
mov eax, dword [ecx]
call dword [eax + 0x160]
test eax, eax
je 0x45caf0
mov ecx, dword [edi]
push 0
mov eax, dword [ecx]
call dword [eax + 0x15c]
mov ecx, dword [edi]
push 1
mov eax, dword [ecx]
call dword [eax + 0x15c]
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45caf5
push 0x200
sub ecx, edx
push 0
push 0x4fd270
mov byte [0x4f914c], cl
call fcn.004b67a0
mov ecx, esi
add esp, 0xc
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45cb20
sub ecx, edx
push ecx
push esi
push 0x4fd270
call fcn.004ae040
add esp, 0xc
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004aca59
mov esp, ebp
pop ebp
ret 8