Function at 0x472630
Capabilities:
Get hostname
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f611b
mov eax, dword fs:[0]
push eax
sub esp, 0x22c
mov eax, dword [0x55800c]
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 esi, ecx
mov dword [ebp - 0x220], esi
lea eax, [esi + 0x1100]
mov dword [ebp - 0x234], eax
push eax
mov dword [ebp - 0x230], 0x45
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x1e4
lea eax, [esi + 0xf1c]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.004cddb0
mov eax, dword [esi + 0xefc]
add esp, 0xc
cmp dword [ebp + 0xc], 0
mov dword [esi + 0xf08], eax
mov dword [esi + 0xf04], 0x1fc
mov dword [esi + 0xf0c], 0x66
je 0x4726ce
mov eax, dword [esi + 0x1228]
jmp 0x4726d4
mov eax, dword [esi + 0x1224]
mov ecx, dword [esi]
mov dword [esi + 0xf18], eax
mov dword [esi + 0xf10], 0xb
mov dword [esi + 0xf14], 0x8001
mov eax, dword [ecx]
mov edx, dword [eax + 0x178]
cmp eax, vtable.vncServer.0
jne 0x472fc6
mov eax, dword [ecx + 0xec]
mov edi, 0xb
mov dword [esi + 0xfa0], 1
test eax, eax
je 0x472728
mov dword [esi + 0xf9c], 1
jmp 0x472732
mov dword [esi + 0xf9c], 0
mov edx, dword [esi + 0x1118]
mov eax, edx
test edx, edx
je 0x4727e3
mov ecx, edx
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x472747
mov eax, edx
sub ecx, ebx
je 0x4727e3
push 0xff
push edx
lea eax, [esi + 0xfa4]
or edi, 0x10
push eax
mov dword [esi + 0xf10], edi
call fcn.004daa40
mov byte [esi + 0x10a3], 0
add esp, 0xc
mov edx, dword [esi + 0x111c]
test edx, edx
je 0x4727b3
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x472790
sub ecx, edi
je 0x4727b3
push 0x3f
push edx
lea eax, [esi + 0x10a8]
push eax
call fcn.004daa40
mov byte [esi + 0x10e7], 0
jmp 0x4727c6
push str.Remote_Connection
lea eax, [esi + 0x10a8]
push 0x40
push eax
call fcn.004d0170
mov eax, dword [esi + 0x1118]
add esp, 0xc
mov dword [esi + 0x10a4], 0x2710
mov dword [esi + 0x10e8], 1
test eax, eax
je 0x4727fa
push eax
call fcn.004dab64
add esp, 4
mov dword [esi + 0x1118], 0
mov eax, dword [esi + 0x111c]
test eax, eax
je 0x472817
push eax
call fcn.004dab64
add esp, 4
mov dword [esi + 0x111c], 0
push 0x80
lea ebx, [esi + 0xf1c]
push ebx
push 0x66
push dword [0x567d1c]
call dword [sym.imp.USER32.dll_LoadStringA]
test eax, eax
je 0x47283c
or dword [esi + 0xf10], 4
test byte [esi + 0xf10], 4
mov edi, 0x7f
je 0x472922
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x472853
sub ecx, edx
mov eax, edi
sub eax, ecx
push eax
push 0x542d14
push ebx
call fcn.004cfde0
mov ecx, dword [esi]
add esp, 0xc
mov eax, dword [ecx]
mov edx, dword [eax + 0x168]
cmp eax, vtable.vncServer.0
jne 0x472fd3
xor eax, eax
cmp dword [ecx + 0x74], eax
setne al
mov ecx, ebx
lea edx, [ecx + 1]
test eax, eax
je 0x472ad0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4728a0
sub ecx, edx
lea ebx, [esi + 0xf1c]
mov edi, 0x80
add ebx, ecx
sub edi, ecx
mov dword [ebp - 0x22c], edi
cmp byte [0x563184], al
je 0x4728e4
mov eax, dword [0x55b17c]
cmp eax, 0xc
jge 0x4728e4
push 0x563290
inc eax
push edi
push ebx
mov dword [0x55b17c], eax
call fcn.004d0170
jmp 0x472914
push 0x100
lea eax, [ebp - 0x118]
mov dword [0x55b17c], 0
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
je 0x4729a9
push edi
push str.Host_name_unavailable
push ebx
call fcn.004daa40
add esp, 0xc
lea ebx, [esi + 0xf1c]
mov edi, 0x7f
push 0x100
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
jne 0x47297f
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x472940
sub ecx, edx
mov eax, edi
sub eax, ecx
push eax
push 0x542d14
push ebx
call fcn.004cfde0
mov ecx, ebx
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x472961
sub ecx, edx
mov eax, edi
sub eax, ecx
push eax
lea eax, [ebp - 0x218]
push eax
push ebx
call fcn.004cfde0
add esp, 0xc
cmp dword [0x5674b8], 0
mov ecx, ebx
lea edx, [ecx + 1]
je 0x472af1
mov al, byte [ecx]
inc ecx
test al, al
jne 0x472991
sub ecx, edx
mov eax, edi
sub eax, ecx
push eax
push str.___service__
jmp 0x472b04
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0x228], eax
test eax, eax
jne 0x4729cb
push edi
push str.IP_address_unavailable
jmp 0x47290e
mov byte [ebx], 0
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x21c], 0
cmp dword [eax], 0
je 0x472917
mov esi, dword [ebp - 0x228]
xor ecx, ecx
mov dword [ebp - 0x224], ecx
xor eax, eax
xor edi, edi
cmp ax, word [esi + 0xa]
jge 0x472a50
nop dword [eax]
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ecx]
movzx eax, byte [eax + edi]
push eax
lea eax, [ebp - 0x18]
push 0x542a24
push eax
call fcn.00444df0
mov ecx, ebx
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x472a21
mov eax, dword [ebp - 0x22c]
sub ecx, edx
sub eax, ecx
dec eax
push eax
lea eax, [ebp - 0x18]
push eax
push ebx
call fcn.004cfde0
movsx eax, word [esi + 0xa]
inc edi
mov ecx, dword [ebp - 0x224]
add esp, 0xc
cmp edi, eax
jl 0x472a00
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x472a55
sub ecx, edx
mov byte [ebx + ecx - 1], al
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x224]
cmp dword [ecx + eax + 4], 0
je 0x472a9b
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x472a77
mov eax, dword [ebp - 0x22c]
sub ecx, edx
sub eax, ecx
dec eax
push eax
push 0x542a28
push ebx
call fcn.004cfde0
mov eax, dword [esi + 0xc]
add esp, 0xc
mov edx, dword [ebp - 0x21c]
inc edx
cmp dword [eax + edx*4], 0
mov dword [ebp - 0x21c], edx
lea ecx, [edx*4]
mov dword [ebp - 0x224], ecx
jne 0x4729f2
mov esi, dword [ebp - 0x220]
jmp 0x472917
mov al, byte [ecx]
inc ecx
test al, al
jne 0x472ad0
sub ecx, edx
mov eax, edi
sub eax, ecx
push eax
push str.Not_listening
push ebx
call fcn.004cfde0
add esp, 0xc
jmp 0x472922
mov al, byte [ecx]
inc ecx
test al, al
jne 0x472af1
sub ecx, edx
mov eax, edi
sub eax, ecx
push eax
push str.___application__
push ebx
call fcn.004cfde0
mov ecx, ebx
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x472b12
sub ecx, edx
sub edi, ecx
push edi
push 0x55b154
push ebx
call fcn.004cfde0
mov ebx, dword [ebp + 8]
add esp, 0xc
cmp ebx, 1
jne 0x472b43
cmp byte [esi + 0x1244], 0
je 0x472f95
jmp 0x472b6a
test ebx, ebx
jne 0x472b54
cmp byte [esi + 0x1244], bl
je 0x472b6a
jmp 0x472f95
cmp ebx, 2
jne 0x472b6a
mov byte [esi + 0x1244], 0
mov dword [esi + 0x1248], 0
lea eax, [esi + 0xf04]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconA]
test eax, eax
je 0x472f0a
mov edi, dword [sym.imp.USER32.dll_EnableMenuItem]
xor eax, eax
cmp dword [esi + 0x118], eax
sete al
push eax
push 0x9c40
push dword [esi + 0xf00]
call edi
xor eax, eax
cmp dword [esi + 0x118], eax
sete al
push eax
push 0x9c41
push dword [esi + 0xf00]
call edi
xor eax, eax
cmp dword [esi + 0x120], eax
sete al
push eax
push 0x9c42
push dword [esi + 0xf00]
call edi
xor eax, eax
cmp dword [esi + 0x124], eax
sete al
push eax
push 0x9c43
push dword [esi + 0xf00]
call edi
xor eax, eax
cmp dword [esi + 0x124], eax
sete al
push eax
push 0x9c45
push dword [esi + 0xf00]
call edi
cmp dword [0x5674b8], 0
je 0x472c23
call fcn.00484be0
test al, al
jne 0x472ca2
mov dword [0x5674b8], 0
mov eax, 1
push eax
push 0x9c4f
push dword [esi + 0xf00]
call edi
push 4
push 0
push 0
mov dword [ebp - 0x21c], 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov edi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov dword [ebp - 0x220], eax
test eax, eax
je 0x472cc3
push 1
push str.uvnc_service
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
test eax, eax
je 0x472c7b
push eax
mov dword [ebp - 0x21c], 1
call edi
push dword [ebp - 0x220]
call edi
cmp dword [ebp - 0x21c], 0
je 0x472cc3
cmp dword [0x5674b8], 0
jne 0x472cc3
cmp dword [esi + 0x120], 0
je 0x472cc3
xor eax, eax
jmp 0x472cc8
cmp dword [0x5674b8], 0
je 0x472c23
cmp dword [esi + 0x120], 0
je 0x472c23
xor eax, eax
jmp 0x472c28
mov eax, 1
push eax
push 0x9c52
push dword [esi + 0xf00]
call dword [sym.imp.USER32.dll_EnableMenuItem]
push 4
push 0
push 0
mov dword [ebp - 0x21c], 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov dword [ebp - 0x220], eax
test eax, eax
je 0x472d2a
push 1
push str.uvnc_service
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
test eax, eax
je 0x472d19
push eax
mov dword [ebp - 0x21c], 1
call edi
push dword [ebp - 0x220]
call edi
cmp dword [ebp - 0x21c], 0
jne 0x472d40
cmp dword [0x5674b8], 0
jne 0x472d40
cmp dword [esi + 0x120], 0
je 0x472d40
xor eax, eax
jmp 0x472d45
mov eax, 1
push eax
push 0x9c50
push dword [esi + 0xf00]
call dword [sym.imp.USER32.dll_EnableMenuItem]
push 4
push 0
push 0
mov dword [ebp - 0x21c], 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov dword [ebp - 0x220], eax
test eax, eax
je 0x472db4
push 1
push str.uvnc_service
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
test eax, eax
je 0x472d96
push eax
mov dword [ebp - 0x21c], 1
call edi
push dword [ebp - 0x220]
call edi
cmp dword [ebp - 0x21c], 0
je 0x472db4
cmp dword [esi + 0x120], 0
je 0x472db4
xor eax, eax
jmp 0x472db9
mov eax, 1
mov edi, dword [sym.imp.USER32.dll_EnableMenuItem]
push eax
push 0x9c51
push dword [esi + 0xf00]
call edi
cmp dword [0x5674b8], 0
je 0x472de3
cmp dword [esi + 0x120], 0
je 0x472de3
xor eax, eax
jmp 0x472de8
mov eax, 1
push eax
push 0x9c59
push dword [esi + 0xf00]
call edi
cmp dword [0x5674b8], 0
je 0x472e0c
cmp dword [esi + 0x120], 0
je 0x472e0c
xor eax, eax
jmp 0x472e11
mov eax, 1
push eax
push 0x9c5d
push dword [esi + 0xf00]
call edi
lea eax, [ebp - 0xb0]
mov dword [ebp - 0xb0], 0x94
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov edi, dword [sym.imp.USER32.dll_RemoveMenu]
push 0
push 0x9c5b
push dword [esi + 0xf00]
call edi
push 0
push 0x9c57
push dword [esi + 0xf00]
call edi
cmp dword [0x56769c], 0
je 0x472eee
push 0
push 0x9c40
push dword [esi + 0xf00]
call edi
push 0
push 0x9c4f
push dword [esi + 0xf00]
call edi
push 0
push 0x9c52
push dword [esi + 0xf00]
call edi
push 0
push 0x9c50
push dword [esi + 0xf00]
call edi
push 0
push 0x9c51
push dword [esi + 0xf00]
call edi
push 0
push 0x9c59
push dword [esi + 0xf00]
call edi
push 0
push 0x9c5d
push dword [esi + 0xf00]
call edi
push 0
push 0x9c57
push dword [esi + 0xf00]
call edi
push 0
push 0x9c5b
push dword [esi + 0xf00]
call edi
test ebx, ebx
jne 0x472f95
mov byte [esi + 0x1244], 1
mov dword [esi + 0x1248], ebx
push str.d:_saasultravncwinvncwinvnc_vncmenu.cpp_:_IsIconSet__n
jmp 0x472f86
test ebx, ebx
jne 0x472f95
mov ecx, dword [esi]
cmp dword [0x5674b8], ebx
jne 0x472f56
mov eax, dword [ecx]
mov edx, dword [eax + 0x2d8]
cmp eax, vtable.vncServer.0
jne 0x472fda
mov eax, dword [ecx + 0x824]
test eax, eax
jne 0x472f95
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:_should_never_get_there_we_dont_want_user_see_the_dialog__n
push eax
push 0x558c50
call fcn.0041c840
add esp, 0xc
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x472f95
mov byte [esi + 0x1244], 0
mov eax, dword [ecx]
mov edx, dword [eax + 0x178]
cmp eax, vtable.vncServer.0
jne 0x472fe1
mov eax, dword [ecx + 0xec]
test eax, eax
jne 0x472f7c
inc dword [esi + 0x1248]
call fcn.004834e0
push str.d:_saasultravncwinvncwinvnc_vncmenu.cpp_:_Failed_IsIconSet__n
push 9
push 0x558c50
call fcn.0041c840
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
push dword [ebp - 0x234]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
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.004cbf27
mov esp, ebp
pop ebp
ret 8
call edx
mov edi, dword [esi + 0xf10]
jmp 0x47270e
call edx
jmp 0x47288c
call edx
jmp 0x472f35
call edx
mov ecx, dword [esi]
jmp 0x472f72