Function at 0x45cb50
Capabilities:
Get hostname

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4cf21b
mov eax, dword fs:[0]
push eax
sub esp, 0x1b0
mov eax, dword [0x4f5568]
xor eax, esp
mov dword [esp + 0x1a8], eax
push ebx
push esi
push edi
mov eax, dword [0x4f5568]
xor eax, esp
push eax
lea eax, [esp + 0x1c0]
mov dword fs:[0], eax
mov esi, ecx
lea eax, [esi + 0x10e0]
mov dword [esp + 0x18], 0x45
push eax
mov dword [esp + 0x18], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x1c8], 0
mov eax, dword [esi + 0xee0]
mov dword [esi + 0xeec], eax
mov dword [esi + 0xee8], 0x1f8
mov dword [esi + 0xef0], 0x66
je 0x45cbe4
mov eax, dword [esi + 0x1208]
jmp 0x45cbea
mov eax, dword [esi + 0x1204]
mov ecx, dword [esi]
mov dword [esi + 0xefc], eax
mov dword [esi + 0xef4], 0xb
mov dword [esi + 0xef8], 0x8001
mov eax, dword [ecx]
call dword [eax + 0x170]
mov dword [esi + 0xf84], 1
test eax, eax
je 0x45cc28
mov dword [esi + 0xf80], 1
jmp 0x45cc32
mov dword [esi + 0xf80], 0
mov edx, dword [esi + 0x10f8]
test edx, edx
je 0x45ccdd
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45cc45
sub ecx, edi
je 0x45ccdd
or dword [esi + 0xef4], 0x10
lea eax, [esi + 0xf88]
push 0xff
push edx
push eax
call fcn.004ae040
mov byte [esi + 0x1087], 0
add esp, 0xc
mov edx, dword [esi + 0x10fc]
test edx, edx
je 0x45ccac
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45cc86
sub ecx, edi
je 0x45ccac
push 0x3f
push edx
lea eax, [esi + 0x108c]
push eax
call fcn.004ae040
add esp, 0xc
mov byte [esi + 0x10cb], 0
jmp 0x45ccc9
movdqu xmm0, xmmword [str.Remote_Connection]
movdqu xmmword [esi + 0x108c], xmm0
mov ax, word [0x4e7ab0]
mov word [esi + 0x109c], ax
mov dword [esi + 0x1088], 0x2710
mov dword [esi + 0x10cc], 1
mov eax, dword [esi + 0x10f8]
test eax, eax
je 0x45ccfa
push eax
call fcn.004ae337
add esp, 4
mov dword [esi + 0x10f8], 0
mov eax, dword [esi + 0x10fc]
test eax, eax
je 0x45cd17
push eax
call fcn.004ae337
add esp, 4
mov dword [esi + 0x10fc], 0
push 0x80
lea edi, [esi + 0xf00]
push edi
push 0x66
push dword [0x502044]
call dword [sym.imp.USER32.dll_LoadStringA]
test eax, eax
je 0x45cd3c
or dword [esi + 0xef4], 4
test byte [esi + 0xef4], 4
mov ebx, 0x7f
je 0x45cdbf
mov ecx, edi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45cd50
sub ecx, edx
mov eax, ebx
sub eax, ecx
push eax
push 0x4e38fc
push edi
call fcn.004aca70
mov ecx, dword [esi]
add esp, 0xc
mov eax, dword [ecx]
call dword [eax + 0x160]
mov ecx, edi
lea edx, [ecx + 1]
test eax, eax
je 0x45cda3
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45cd80
sub ecx, edx
mov eax, 0x80
sub eax, ecx
push eax
lea eax, [esi + 0xf00]
add eax, ecx
mov ecx, esi
push eax
call fcn.0045c8b0
jmp 0x45cdbf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45cda3
sub ecx, edx
mov eax, ebx
sub eax, ecx
push eax
push str.Not_listening
push edi
call fcn.004aca70
add esp, 0xc
push 0x100
lea eax, [esp + 0xb8]
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
jne 0x45ce20
mov ecx, edi
lea edx, [ecx + 1]
jmp 0x45cde0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45cde0
sub ecx, edx
mov eax, ebx
sub eax, ecx
push eax
push 0x4e38fc
push edi
call fcn.004aca70
mov ecx, edi
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ce01
sub ecx, edx
mov eax, ebx
sub eax, ecx
push eax
lea eax, [esp + 0xb8]
push eax
push edi
call fcn.004aca70
add esp, 0xc
cmp dword [0x501498], 0
mov ecx, edi
lea edx, [ecx + 1]
je 0x45ce45
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ce30
sub ecx, edx
mov eax, ebx
sub eax, ecx
push eax
push str.___service__
jmp 0x45ce58
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ce45
sub ecx, edx
mov eax, ebx
sub eax, ecx
push eax
push str.___application__
push edi
call fcn.004aca70
mov ecx, edi
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ce66
sub ecx, edx
sub ebx, ecx
push ebx
push 0x4f9124
push edi
call fcn.004aca70
mov ebx, dword [ebp + 8]
add esp, 0xc
cmp ebx, 1
jne 0x45ce97
cmp byte [esi + 0x1224], 0
je 0x45d1b8
jmp 0x45cebe
test ebx, ebx
jne 0x45cea8
cmp byte [esi + 0x1224], bl
je 0x45cebe
jmp 0x45d1b8
cmp ebx, 2
jne 0x45cebe
mov byte [esi + 0x1224], 0
mov dword [esi + 0x1228], 0
lea eax, [esi + 0xee8]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconA]
test eax, eax
je 0x45d15e
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 + 0xee4]
call edi
xor eax, eax
cmp dword [esi + 0x118], eax
sete al
push eax
push 0x9c41
push dword [esi + 0xee4]
call edi
xor eax, eax
cmp dword [esi + 0x11c], eax
sete al
push eax
push 0x9c42
push dword [esi + 0xee4]
call edi
xor eax, eax
cmp dword [esi + 0x120], eax
sete al
push eax
push 0x9c43
push dword [esi + 0xee4]
call edi
xor eax, eax
cmp dword [esi + 0x120], eax
sete al
push eax
push 0x9c45
push dword [esi + 0xee4]
call edi
cmp dword [0x501498], 0
je 0x45cf73
call fcn.00470c10
test al, al
jne 0x45cfa5
mov dword [0x501498], 0
mov eax, 1
push eax
push 0x9c4f
push dword [esi + 0xee4]
call edi
call fcn.00470c10
test al, al
je 0x45cfbb
cmp dword [0x501498], 0
jne 0x45cfbb
cmp dword [esi + 0x11c], 0
je 0x45cfbb
xor eax, eax
jmp 0x45cfc0
cmp dword [0x501498], 0
je 0x45cf73
cmp dword [esi + 0x11c], 0
je 0x45cf73
xor eax, eax
jmp 0x45cf78
mov eax, 1
push eax
push 0x9c52
push dword [esi + 0xee4]
call edi
call fcn.00470c10
test al, al
jne 0x45cfed
cmp dword [0x501498], 0
jne 0x45cfed
cmp dword [esi + 0x11c], 0
je 0x45cfed
xor eax, eax
jmp 0x45cff2
mov eax, 1
push eax
push 0x9c50
push dword [esi + 0xee4]
call edi
call fcn.00470c10
test al, al
je 0x45d016
cmp dword [esi + 0x11c], 0
je 0x45d016
xor eax, eax
jmp 0x45d01b
mov eax, 1
push eax
push 0x9c51
push dword [esi + 0xee4]
call edi
cmp dword [0x501498], 0
je 0x45d03f
cmp dword [esi + 0x11c], 0
je 0x45d03f
xor eax, eax
jmp 0x45d044
mov eax, 1
push eax
push 0x9c59
push dword [esi + 0xee4]
call edi
cmp dword [0x501498], 0
je 0x45d068
cmp dword [esi + 0x11c], 0
je 0x45d068
xor eax, eax
jmp 0x45d06d
mov eax, 1
push eax
push 0x9c5d
push dword [esi + 0xee4]
call edi
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 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 + 0xee4]
call edi
push 0
push 0x9c57
push dword [esi + 0xee4]
call edi
cmp dword [0x502b5c], 0
je 0x45d146
push 0
push 0x9c40
push dword [esi + 0xee4]
call edi
push 0
push 0x9c4f
push dword [esi + 0xee4]
call edi
push 0
push 0x9c52
push dword [esi + 0xee4]
call edi
push 0
push 0x9c50
push dword [esi + 0xee4]
call edi
push 0
push 0x9c51
push dword [esi + 0xee4]
call edi
push 0
push 0x9c59
push dword [esi + 0xee4]
call edi
push 0
push 0x9c5d
push dword [esi + 0xee4]
call edi
push 0
push 0x9c57
push dword [esi + 0xee4]
call edi
push 0
push 0x9c5b
push dword [esi + 0xee4]
call edi
test ebx, ebx
jne 0x45d1b8
mov byte [esi + 0x1224], 1
mov dword [esi + 0x1228], ebx
push str.vncmenu.cpp_:_IsIconSet__n
jmp 0x45d1a9
cmp dword [0x501498], 0
jne 0x45d18d
test ebx, ebx
jne 0x45d1b8
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x2b0]
test eax, eax
jne 0x45d1b8
push 1
push ecx
lea ecx, [esi + 4]
call fcn.00461ff0
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x45d1b8
test ebx, ebx
jne 0x45d1b8
mov ecx, dword [esi]
inc dword [esi + 0x1228]
mov byte [esi + 0x1224], bl
call fcn.0046f390
push str.vncmenu.cpp_:_Failed_IsIconSet__n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0xc
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x1c0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1a8]
xor ecx, esp
call fcn.004aca59
mov esp, ebp
pop ebp
ret 8