Function at 0x4246a1
Capabilities:
Accept command line arguments

Disassembly:
push ebp
sub esp, 0xbc
lea ebp, [esp - 4]
mov eax, dword [0x67d978]
xor eax, ebp
mov dword [ebp + 0xbc], eax
push 0x140
mov eax, 0x58946c
call fcn.0053d7cf
mov eax, dword [ebp + 0xc8]
mov dword [ebp - 0x1c], eax
xor ebx, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp + 0xb8], 7
push ebx
lea ecx, [ebp + 0xa0]
call fcn.00412c1b
mov dword [ebp - 4], ebx
lea eax, [ebp + 0xa0]
push eax
call fcn.0045dcbf
pop ecx
or dword [ebp - 4], 0xffffffff
push ebx
xor edi, edi
inc edi
push edi
lea ecx, [ebp + 0xa0]
call fcn.0041382c
mov dword [ebp - 0x5c], ebx
mov eax, dword [0x68beb4]
cmp eax, ebx
je 0x424739
lea ecx, [ebp - 0x5c]
push ecx
call eax
cmp eax, ebx
je 0x424739
mov eax, dword [ebp - 0x5c]
and eax, 0xfffffffe
mov ecx, dword [0x68beb0]
cmp ecx, ebx
je 0x424739
push eax
call ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov dword [0x68bef0], eax
mov dword [0x68bef4], ebx
mov dword [0x68bef8], eax
lea eax, [ebp + 0x54]
push eax
call fcn.004b9b78
pop ecx
mov dword [ebp - 4], edi
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x70]
push eax
call fcn.0045d462
mov byte [ebp - 4], 2
push str.nosave
lea ecx, [ebp - 0x40]
call fcn.00415a69
mov byte [ebp - 4], 3
push str.Settings
lea ecx, [ebp + 0xa0]
call fcn.00415a69
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x40]
lea esi, [ebp + 0xa0]
lea eax, [ebp + 0x70]
call fcn.004758ba
test eax, eax
setne byte [ebp - 0x11]
mov byte [ebp - 4], 3
push ebx
push edi
mov ecx, esi
call fcn.0041382c
mov byte [ebp - 4], 2
push ebx
push edi
lea ecx, [ebp - 0x40]
call fcn.0041382c
cmp byte [ebp - 0x11], bl
je 0x4247e7
mov dword [0x6aa4d0], ebx
mov edi, 0x6aa4d0
call fcn.0045fcaf
xor edi, edi
inc edi
jmp 0x424826
lea eax, [ebp - 0x40]
push eax
call fcn.0045f7d8
pop ecx
mov byte [ebp - 4], 5
push 0xffffffffffffffff
push ebx
push eax
mov ecx, 0x680428
call fcn.00413799
mov dword [0x68a68c], 0x45f747
push 0x458302
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov byte [ebp - 4], 2
push ebx
push edi
lea ecx, [ebp - 0x40]
call fcn.0041382c
push str.TeamViewer_Desktop.exe
lea ecx, [ebp - 0x40]
call fcn.00415a69
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x40]
call fcn.00476306
mov esi, eax
mov byte [ebp - 4], 2
push ebx
push edi
lea ecx, [ebp - 0x40]
call fcn.0041382c
push 0x617934
lea ecx, [ebp - 0x40]
call fcn.00415a69
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x40]
call fcn.004764f8
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 2
push ebx
push edi
lea ecx, [ebp - 0x40]
call fcn.0041382c
cmp esi, ebx
je 0x424ff4
cmp dword [ebp - 0x18], ebx
je 0x424ff4
cmp esi, edi
je 0x424893
cmp dword [ebp - 0x18], edi
jne 0x4248a6
push 0x10
push str.Warning_
push str.One_or_more_files_of_your_TeamViewer_version_are_missing_or_have_been_modified._Some_of_the_TeamViewer_functionality_will_not_be_available._Please_reinstall_TeamViewer
push ebx
call dword [0x689568]
push str.Allowed_options
lea ecx, [ebp - 0x40]
call fcn.00414eb2
mov byte [ebp - 4], 8
mov eax, dword [0x60e898]
mov ecx, eax
shr ecx, 1
push ecx
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp]
call fcn.0052d610
mov byte [ebp - 4], 0xa
push ebx
push edi
lea ecx, [ebp - 0x40]
call fcn.00411efe
push 0x78
call fcn.00536391
pop ecx
mov dword [ebp - 0x50], eax
mov byte [ebp - 4], 0xb
cmp eax, ebx
je 0x4248f7
push eax
call fcn.00426fbc
jmp 0x4248f9
xor eax, eax
mov byte [ebp - 4], 0xa
push str.Dont_restart_elevated
push 0x61e678
push eax
mov edi, str.IPCport
push edi
push 0x61ebf9
push str.startedAsAdmin
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp]
call fcn.0052be20
mov ecx, eax
call fcn.0052de60
mov ecx, eax
call fcn.0052df80
mov ecx, eax
call fcn.0052de60
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x40]
call fcn.00415a69
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00533640
pop ecx
pop ecx
mov byte [ebp - 4], 0xe
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.0041382c
lea ecx, [ebp - 0x9c]
call fcn.00529cf0
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.004266a9
mov esi, eax
mov byte [ebp - 4], 0x11
lea eax, [ebp]
push eax
mov ecx, esi
call fcn.0052e6e0
lea eax, [ebp]
mov dword [esi + 0x60], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.004266eb
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x9c]
push ecx
push eax
call fcn.00529cd0
pop ecx
pop ecx
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x4c]
call fcn.00425113
mov byte [ebp - 4], 0x13
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x10c]
push eax
call fcn.0042517d
mov dword [ebp - 4], 0xf
lea eax, [ebp - 0x9c]
push eax
call fcn.005295b0
mov dword [esp], str.startedAsAdmin
lea ecx, [ebp - 0x40]
call fcn.00414eb2
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x94]
call fcn.004251f6
test eax, eax
seta byte [ebp - 0x12]
mov byte [ebp - 4], 0xf
push ebx
xor esi, esi
inc esi
push esi
lea ecx, [ebp - 0x40]
call fcn.00411efe
push edi
lea ecx, [ebp + 0xa0]
call fcn.00414eb2
mov byte [ebp - 4], 0x17
lea eax, [ebp + 0xa0]
push eax
lea ecx, [ebp - 0x94]
call fcn.004251f6
test eax, eax
je 0x424a80
push edi
lea ecx, [ebp - 0x40]
call fcn.00414eb2
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x24], esi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x9c]
call fcn.00527bf0
mov esi, eax
call fcn.004277fb
movzx eax, word [eax]
mov dword [ebp - 0x18], eax
jmp 0x424a87
mov dword [ebp - 0x18], 0x1733
mov dword [ebp - 4], 0x17
test byte [ebp - 0x24], 1
je 0x424aa3
and dword [ebp - 0x24], 0xfffffffe
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00411efe
mov byte [ebp - 4], 0xf
push ebx
push 1
lea ecx, [ebp + 0xa0]
call fcn.00411efe
mov al, byte [ebp - 0x12]
neg al
sbb eax, eax
and eax, 0xfffffffd
add eax, 0x44
push eax
call fcn.0045fc37
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
call edi
mov dword [ebp - 0x50], eax
push str.TeamViewerDesktop_started__PID_1_
lea eax, [ebp - 0x14c]
push eax
call fcn.00409f00
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x50]
push ecx
mov esi, eax
call fcn.0040a170
push eax
call fcn.00401000
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x14c]
push eax
call fcn.00402184
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x58], ebx
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessShutdownParameters]
test eax, eax
je 0x424b40
mov eax, 0x100
cmp dword [ebp - 0x60], eax
jbe 0x424b4a
push dword [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_SetProcessShutdownParameters]
test eax, eax
jne 0x424b4a
push str.SetProcessShutdownParameters_failed
jmp 0x424b45
push str.GetProcessShutdownParameters_failed
call fcn.0042e877
push str.noInstallation
lea ecx, [ebp - 0x40]
call fcn.00414eb2
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x94]
call fcn.004251f6
mov esi, eax
mov byte [ebp - 4], 0xf
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00411efe
cmp esi, ebx
je 0x424b84
push 6
pop eax
jmp 0x424b93
xor eax, eax
cmp byte [ebp - 0x11], bl
setne al
lea eax, [eax*4 + 1]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00424042
pop ecx
pop ecx
mov byte [ebp - 4], 0x1b
push eax
call fcn.00425391
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x54]
push eax
call fcn.00405946
cmp byte [ebp - 0x11], bl
je 0x424bea
mov byte [ebp - 0x44], bl
mov dword [ebp - 0x4c], 3
mov byte [ebp - 4], 0x1c
mov ecx, dword [0x6b56b4]
mov eax, dword [ecx]
push ebx
lea edx, [ebp - 0x4c]
push edx
push 0x6968e8
call dword [eax + 8]
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x4c]
call fcn.00407770
cmp byte [ebp - 0x12], bl
je 0x424ca9
call fcn.00463055
cmp eax, 0xa
jl 0x424ca9
push 0x61e678
lea ecx, [ebp - 0x40]
call fcn.00414eb2
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x94]
call fcn.004251f6
test eax, eax
seta al
push eax
mov ecx, dword [0x6b56b4]
call fcn.00473685
push eax
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x50], esp
lea eax, [ebp - 0x70]
push eax
call fcn.00425277
mov byte [ebp - 4], 0x1e
mov byte [ebp - 4], 0x1d
call fcn.004b9f01
add esp, 0x18
mov byte [ebp - 0x11], al
mov byte [ebp - 4], 0xf
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00411efe
cmp byte [ebp - 0x11], bl
je 0x424ca9
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x9c]
call fcn.004250a3
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x70]
call fcn.00407743
mov byte [ebp - 4], 2
lea ecx, [ebp]
call fcn.00425056
mov byte [ebp - 4], 1
lea eax, [ebp + 0x70]
push eax
call fcn.0046b553
or dword [ebp - 4], 0xffffffff
push ebx
jmp 0x424fe6
call fcn.0042d788
mov eax, dword [ebp - 0x1c]
mov dword [0x68a690], eax
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x1c], 0x2225
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
lea eax, [ebp - 0x11]
push eax
call fcn.00475764
mov byte [ebp - 4], 0x1f
push ebx
push ebx
push ebx
push 3
push 4
push ebx
push ebx
push 0xffffffffffffffff
push ebx
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
cmp eax, ebx
je 0x424d02
cmp eax, 0x80010119
je 0x424d02
push str.CoInitializeSecurity___failed_in_Desktop_Main._Remote_system_info_will_not_be_possible.
call fcn.0042e877
mov byte [ebp - 4], 0x20
call fcn.00463055
cmp eax, 7
jl 0x424d3d
call edi
push eax
push 0x2000000
lea eax, [ebp - 0x20]
push eax
call fcn.0046c977
add esp, 0xc
mov byte [ebp - 4], 0x21
push dword [ebp - 0x20]
call fcn.00475a5b
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x20]
push eax
call fcn.00405946
mov dword [ebp - 4], 0x1f
jmp 0x424d8a
lea eax, [ebp - 0x20]
push eax
call fcn.0043fe17
pop ecx
mov byte [ebp - 4], 0x24
push eax
call fcn.00425439
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x20]
push eax
call fcn.00405946
push 0x150
call fcn.00536391
pop ecx
mov esi, eax
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 0x25
cmp esi, ebx
je 0x424de9
xor eax, eax
cmp byte [ebp - 0x12], bl
setne al
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.00489c0b
mov byte [ebp - 4], 0x26
mov dword [esi], 0x61e9e0
mov byte [ebp - 4], 0x25
jmp 0x424deb
xor esi, esi
mov byte [ebp - 4], 0x1f
mov edi, esi
call fcn.00426755
mov ecx, dword [0x6b2efc]
mov eax, dword [ecx]
xor esi, esi
inc esi
push esi
push dword [ebp - 0x18]
call dword [eax + 4]
test al, al
je 0x424eb8
call fcn.00424161
test al, al
jne 0x424e62
mov byte [ebp - 4], 0xf
call dword [sym.imp.ole32.dll_OleUninitialize]
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x9c]
call fcn.004250a3
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x70]
call fcn.00407743
mov byte [ebp - 4], 2
lea ecx, [ebp]
call fcn.00425056
mov byte [ebp - 4], 1
lea eax, [ebp + 0x70]
push eax
call fcn.0046b553
or dword [ebp - 4], 0xffffffff
push ebx
push esi
jmp 0x424fe8
mov eax, 0x42436f
mov cl, byte [ebp - 0x12]
mov byte [ebp - 0x1c], cl
push dword [ebp - 0x1c]
push eax
lea esi, [ebp - 0x44]
call fcn.004267c4
mov byte [ebp - 4], 0x27
mov eax, esi
push eax
lea eax, [ebp + 0x8c]
push eax
call fcn.00401127
mov byte [ebp - 4], 0x29
call fcn.0049fb57
lea esi, [ebp + 0x8c]
call fcn.00401190
mov ecx, esi
call fcn.00535690
mov byte [ebp - 4], 0x1f
mov eax, esi
push eax
call fcn.00401162
xor esi, esi
inc esi
jmp 0x424edd
mov dword [0x6aa4f8], ebx
mov edi, 0x6aa4d0
call fcn.0045fcaf
mov dword [0x6aa4d0], esi
call fcn.0045fcaf
push str.StartTcpCommunication___failed_
call fcn.0042e877
call fcn.00477774
push dword [0x6a5108]
call fcn.0043ffba
push ebx
mov ecx, dword [0x6b2efc]
call fcn.0048c549
call fcn.0045faff
push esi
call fcn.00489ae0
pop ecx
call fcn.00425341
push 0x478ef6
push 0x68bf14
call fcn.00479adf
pop ecx
pop ecx
call fcn.00425491
call fcn.0042d5ad
call fcn.004253e9
mov dword [0x68a68c], ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
jmp 0x424e19
push 1
lea ecx, [ebp + 0x54]
call fcn.0041382c
xor eax, eax
jmp 0x425031
push 0x10
push str.Critical_Error_
push str.Verification_of_your_TeamViewer_version_failed__nTeamViewer_will_quit_for_security_reasons._Please_reinstall_TeamViewer.
push ebx
call dword [0x689568]
mov dword [0x68a68c], ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov byte [ebp - 4], 1
lea eax, [ebp + 0x70]
push eax
call fcn.0046b553
or dword [ebp - 4], 0xffffffff
push ebx
push edi
lea ecx, [ebp + 0x54]
call fcn.0041382c
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xbc]
xor ecx, ebp
call fcn.00536476
add ebp, 0xc0
leave
ret 0x10