Function at 0x407660
Capabilities:
Terminate process

Disassembly:
push 0x483824
call fcn.00459e8b
push str.___connect___
call fcn.00459e8b
push str.___disconnect___________________________
call fcn.00459e8b
push str.___register__
call fcn.00459e8b
push str.___unregister___________________________
call fcn.00459e8b
push str.___start________________________________
call fcn.00459e8b
push str.___stop___________________________________WinVNC
call fcn.00459e8b
push str.___status_______________________________
call fcn.00459e8b
push str.___help_________________________________
call fcn.00459e8b
push str.___noconsole____________________________
call fcn.00459e8b
push str.___vncconfigfile__
call fcn.00459e8b
push 0x483458
call fcn.00459e8b
push 0x4833e8
call fcn.00459e8b
push 0x4833d8
call fcn.00459e8b
push 0x4f
call fcn.0044bc40
push 0x4833c4
call fcn.00459e8b
add esp, 0x40
call fcn.0044c030
push 0x48339c
call fcn.00459e8b
add esp, 4
push 0xa
push 0x4f
call fcn.0044ab80
mov ecx, eax
call fcn.0044a5a0
push 1
call fcn.00459e4b
int3
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4793c8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x760
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
mov esi, 1
cmp esi, ebx
mov dword [ebp - 0x14], esi
jge 0x407dc4
mov eax, dword [edi + esi*4]
push str._connect
push eax
mov dword [ebp - 4], 0
call fcn.0045a0b0
add esp, 8
test eax, eax
jne 0x40784f
xor ebx, ebx
mov byte [0x4a4508], al
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp + 8]
lea edi, [esi + 1]
cmp edi, eax
mov byte [ebp - 4], 1
jge 0x4076f0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + esi*4 + 4]
push 0xffffffffffffffff
push edx
call fcn.0044b020
mov ebx, eax
mov esi, edi
add esp, 8
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], esi
jmp 0x40774e
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0040db70
mov dword [ebp - 0x2c], 0x483850
mov dword [ebp - 0x1c], 0
push 0
push 0x6c
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.0040dd20
test al, al
je 0x407736
mov eax, dword [ebp - 0x1c]
push 0xffffffffffffffff
push eax
call fcn.0044b020
mov ebx, eax
add esp, 8
mov dword [ebp - 0x18], ebx
mov ecx, dword [ebp - 0x1c]
push ecx
mov byte [ebp - 4], 1
call fcn.00459039
add esp, 4
lea ecx, [ebp - 0x2c]
call fcn.0040db90
test ebx, ebx
je 0x407833
push str.winvnc::IPC_Interface
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov edi, eax
test edi, edi
jne 0x4077ac
push 0x483b98
lea edx, [ebp - 0x160]
push 0x100
push edx
mov byte [ebp - 0x160], al
call fcn.0044c260
add esp, 0xc
push 0x498d60
lea eax, [ebp - 0x464]
mov ecx, 0x40
lea esi, [ebp - 0x160]
lea edi, [ebp - 0x464]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.00459658
lea ecx, [ebp - 0x58]
call fcn.00407150
mov ecx, dword [ebp - 0x50]
push 0x100
lea edx, [ebp - 0x364]
push ebx
push edx
mov byte [ebp - 4], 3
mov dword [ebp - 0x264], ecx
call fcn.0044b100
add esp, 0xc
lea eax, [ebp - 0x364]
push 0x483b6c
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x34], 0x104
mov dword [ebp - 0x30], eax
call fcn.00459e8b
add esp, 4
lea ecx, [ebp - 0x38]
push ecx
push 0
push 0x4a
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x40781b
mov edx, dword [ebp - 0x4c]
push 1
push edx
call fcn.004074a0
add esp, 8
mov eax, dword [ebp - 0x4c]
push eax
mov byte [ebp - 4], 1
call fcn.00459039
add esp, 4
lea ecx, [ebp - 0x58]
call fcn.00411560
push ebx
call fcn.00459039
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
add esp, 4
mov dword [ebp - 4], 0xffffffff
inc esi
jmp 0x40768f
mov ecx, dword [edi + esi*4]
push str._disconnect
push ecx
call fcn.0045a0b0
add esp, 8
test eax, eax
jne 0x407916
push str.winvnc::IPC_Interface
xor ebx, ebx
push ebx
mov byte [0x4a4508], al
call dword [sym.imp.USER32.dll_FindWindowA]
mov edi, eax
cmp edi, ebx
jne 0x4078c4
push 0x483b98
lea edx, [ebp - 0x260]
push 0x100
push edx
mov byte [ebp - 0x260], bl
call fcn.0044c260
add esp, 0xc
push 0x498d60
lea eax, [ebp - 0x668]
mov ecx, 0x40
lea esi, [ebp - 0x260]
lea edi, [ebp - 0x668]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.00459658
push 0x483b30
mov dword [ebp - 0x44], 2
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], ebx
call fcn.00459e8b
add esp, 4
lea ecx, [ebp - 0x44]
push ecx
push ebx
push 0x4a
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x407db1
push 1
push 0x483b10
call fcn.004074a0
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
add esp, 8
mov dword [ebp - 4], 0xffffffff
inc esi
jmp 0x40768f
mov edx, dword [edi + esi*4]
push str._start
push edx
call fcn.0045a0b0
add esp, 8
test eax, eax
jne 0x407974
push 0x483ae8
call fcn.00459e8b
mov eax, dword [str.WinVNC4]
push eax
mov byte [0x4a4508], 0
call fcn.0040fee0
add esp, 8
test al, al
je 0x407db1
push 0
push 0x483ac8
call fcn.004074a0
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
add esp, 8
mov dword [ebp - 4], 0xffffffff
inc esi
jmp 0x40768f
mov ecx, dword [edi + esi*4]
push str._stop
push ecx
call fcn.0045a0b0
add esp, 8
test eax, eax
jne 0x4079d3
push 0x483aa0
call fcn.00459e8b
mov edx, dword [str.WinVNC4]
push edx
mov byte [0x4a4508], 0
call fcn.00410190
add esp, 8
test al, al
je 0x407db1
push 0
push 0x483a80
call fcn.004074a0
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
add esp, 8
mov dword [ebp - 4], 0xffffffff
inc esi
jmp 0x40768f
mov eax, dword [edi + esi*4]
push str._status
push eax
call fcn.0045a0b0
add esp, 8
test eax, eax
jne 0x407aa9
push 0x483a5c
call fcn.00459e8b
mov ecx, dword [str.WinVNC4]
push ecx
mov byte [0x4a4508], 0
call fcn.0040f810
add esp, 8
push eax
call fcn.0040f990
add esp, 4
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407a20
sub eax, edx
mov ebx, eax
mov eax, dword [str.WinVNC4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407a33
sub eax, edx
mov edx, eax
mov eax, 0x483a38
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407a46
sub eax, edi
add eax, edx
lea edx, [eax + ebx + 1]
push edx
call fcn.00459034
mov edi, eax
add esp, 4
mov dword [ebp - 0x5c], edi
mov ebx, dword [ebp - 0x18]
mov eax, dword [str.WinVNC4]
push ebx
push eax
push 0x483a38
push edi
mov byte [ebp - 4], 5
call fcn.00459600
push 0
push edi
call fcn.004074a0
add esp, 0x18
push edi
call fcn.00459039
push ebx
call fcn.00459039
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
add esp, 8
mov dword [ebp - 4], 0xffffffff
inc esi
jmp 0x40768f
mov ecx, dword [edi + esi*4]
push str._service
push ecx
call fcn.0045a0b0
add esp, 8
test eax, eax
jne 0x407ae5
push 0x483a14
call fcn.00459e8b
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
add esp, 4
mov byte [0x4a6ce0], 1
mov dword [ebp - 4], 0xffffffff
inc esi
jmp 0x40768f
mov edx, dword [edi + esi*4]
push str._slave
push edx
call fcn.0045a0b0
add esp, 8
test eax, eax
jne 0x407b6c
push 0x4839f4
call fcn.00459e8b
mov eax, dword [edi + esi*4 + 4]
add esp, 4
inc esi
push eax
push 0
push 0x1f0003
mov dword [ebp - 0x14], esi
call dword [sym.imp.KERNEL32.dll_OpenEventA]
push eax
mov ecx, 0x4a6cf4
call fcn.00402f10
mov eax, dword [0x4a6cf4]
test eax, eax
jne 0x407db1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4839dc
lea ecx, [ebp - 0x76c]
call fcn.0044ba90
mov esi, eax
push 0x49859c
lea eax, [ebp - 0x568]
mov ecx, 0x41
lea edi, [ebp - 0x568]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.00459658
mov ecx, dword [edi + esi*4]
push str._register
push ecx
call fcn.0045a0b0
add esp, 8
test eax, eax
jne 0x407bdf
push 0x4839ac
call fcn.00459e8b
mov eax, esi
mov esi, ebx
lea edx, [edi + eax*4 + 4]
sub ebx, eax
mov eax, dword [str.WinVNC4]
push edx
dec ebx
push ebx
push str.VNC_Server_Version_4
push eax
mov byte [0x4a4508], 0
mov dword [ebp - 0x14], esi
call fcn.0040fa40
add esp, 0x14
test al, al
je 0x407db1
push 0
push 0x483974
call fcn.004074a0
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
add esp, 8
mov dword [ebp - 4], 0xffffffff
inc esi
jmp 0x40768f
mov ecx, dword [edi + esi*4]
push str._unregister
push ecx
call fcn.0045a0b0
add esp, 8
test eax, eax
jne 0x407c3e
push 0x483940
call fcn.00459e8b
mov edx, dword [str.WinVNC4]
push edx
mov byte [0x4a4508], 0
call fcn.0040f4f0
add esp, 8
test al, al
je 0x407db1
push 0
push 0x48391c
call fcn.004074a0
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
add esp, 8
mov dword [ebp - 4], 0xffffffff
inc esi
jmp 0x40768f
mov eax, dword [edi + esi*4]
push str._noconsole
push eax
call fcn.0045a0b0
add esp, 8
test eax, eax
jne 0x407ca6
push 0x48390c
push 0x4a6ce4
mov byte [0x4a6ce1], 1
call fcn.00402eb0
add esp, 8
call dword [sym.imp.KERNEL32.dll_FreeConsole]
test eax, eax
jne 0x407db1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4838f0
push 0x4a6ce4
call fcn.00402eb0
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
inc esi
jmp 0x40768f
mov ecx, dword [edi + esi*4]
push str._vncconfigfile
push ecx
call fcn.0045a0b0
add esp, 8
test eax, eax
jne 0x407ceb
inc esi
cmp esi, ebx
mov dword [ebp - 0x14], esi
jl 0x407cc8
jmp 0x407080
call fcn.0044ab80
mov edx, dword [edi + esi*4]
push edx
mov ecx, eax
call fcn.0044c7f0
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 4], 0xffffffff
inc esi
jmp 0x40768f
mov eax, dword [edi + esi*4]
push str._help
push eax
call fcn.0045a0b0
add esp, 8
test eax, eax
je 0x407d8e
mov ecx, dword [edi + esi*4]
push str.__help
push ecx
call fcn.0045a0b0
add esp, 8
test eax, eax
je 0x407d8e
mov edx, dword [edi + esi*4]
push 0x4838cc
push edx
call fcn.0045a0b0
add esp, 8
test eax, eax
je 0x407d8e
mov eax, dword [edi + esi*4]
push 0x4838c8
push eax
call fcn.0045a0b0
add esp, 8
test eax, eax
je 0x407d8e
mov ecx, dword [edi + esi*4]
push 0
push ecx
call fcn.00407050
add esp, 8
test al, al
jne 0x407db7
mov eax, dword [edi + esi*4]
cmp byte [eax], 0x2d
jne 0x407d8e
mov ecx, dword [ebp + 8]
lea ebx, [esi + 1]
cmp ebx, ecx
jge 0x407d8e
mov edx, dword [edi + esi*4 + 4]
push 0
push edx
inc eax
push eax
call fcn.00407030
add esp, 0xc
test al, al
je 0x407d8e
mov esi, ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 4], 0xffffffff
inc esi
jmp 0x40768f
mov byte [0x4a4508], 0
jmp 0x407080
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 4], 0xffffffff
inc esi
jmp 0x40768f
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret