Function at 0x405760
Capabilities:
Copy file
Create directory
Delete file
Get common file path
Persist via lnk shortcut

Disassembly:
mov eax, 0x3afc
call fcn.0040a7d0
mov eax, dword [0x424310]
xor eax, esp
mov dword [esp + 0x3af8], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x3b18]
push 4
mov dword [esp + 0x14], edi
call fcn.004010c0
push 1
call fcn.004011f0
push str._debug_outstring
push edi
call fcn.0040bfb0
add esp, 0x10
test eax, eax
je 0x4057b1
push 8
call fcn.004010c0
add esp, 4
push str._debug_file
push edi
call fcn.0040bfb0
mov esi, eax
add esp, 8
test esi, esi
je 0x4058f6
push 0x400
lea eax, [esp + 0x3608]
push 0
push eax
call fcn.0040a110
add esi, 0xc
push esi
lea ecx, [esp + 0x3614]
push 0x400
push ecx
call fcn.0040a0a1
add esp, 0x18
cmp byte [esp + 0x3604], 0x22
lea eax, [esp + 0x3604]
lea edx, [eax + 1]
jne 0x405884
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x405810
sub eax, edx
add eax, 1
push eax
lea edx, [esp + 0x3609]
push edx
lea eax, [esp + 0x360c]
push eax
call fcn.0040c4b0
lea eax, [esp + 0x3610]
add esp, 0xc
xor edx, edx
lea esi, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x405843
sub eax, esi
je 0x4058df
cmp byte [esp + edx + 0x3604], 0x22
jne 0x405866
mov byte [esp + edx + 0x3604], 0
lea eax, [esp + 0x3604]
add edx, 1
lea esi, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x405873
sub eax, esi
cmp edx, eax
jb 0x405854
jmp 0x4058df
xor esi, esi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x405886
sub eax, edx
je 0x4058df
jmp 0x4058a0
movsx ecx, byte [esp + esi + 0x3604]
push ecx
call fcn.0040a251
add esp, 4
test eax, eax
je 0x4058bd
mov byte [esp + esi + 0x3604], 0
lea eax, [esp + 0x3604]
add esi, 1
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4058d0
sub eax, edx
cmp esi, eax
jb 0x4058a0
push 1
call fcn.004010c0
lea edx, [esp + 0x3608]
push edx
call fcn.004018d0
add esp, 8
push 0x104
lea eax, [esp + 0x3a08]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x136
push str.WinMain
push str.._vseeUpdateMain.cpp
call fcn.004010e0
add esp, 0xc
test al, al
je 0x40594b
call fcn.00401610
call fcn.00401580
push edi
lea ecx, [esp + 0x3a08]
push ecx
push str.VSeeUpdate.exe:_Running__s_input_lpCmdLine__s_n
call fcn.004014d0
add esp, 0xc
call fcn.00401630
push 0x1ff
lea edx, [esp + 0x3409]
push 0
push edx
mov byte [esp + 0x3410], 0
call fcn.0040a110
push 0x1ff
lea eax, [esp + 0x2f09]
push 0
push eax
mov byte [esp + 0x2f10], 0
call fcn.0040a110
push edi
lea ecx, [esp + 0x2f14]
push 0x200
push ecx
call fcn.0040a0a1
lea edx, [esp + 0x48]
push edx
call fcn.00403540
lea eax, [esp + 0x2f20]
push str._install
push eax
call fcn.0040bfb0
add esp, 0x30
test eax, eax
je 0x405b82
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x2efc]
push 0x200
push edx
call fcn.004053b0
push str._install
lea eax, [esp + 0x2f08]
push 0x200
push eax
call fcn.00407890
push str.no_update
lea ecx, [esp + 0x2f14]
push 0x200
push ecx
call fcn.00407890
push str.no_dbghelp
lea edx, [esp + 0x2f20]
push 0x200
push edx
call fcn.00407890
push 0x41fc04
lea eax, [esp + 0x2f2c]
push 0x200
push eax
call fcn.00407890
push 0x41d5a6
push 0x4a9ee8
call fcn.00406670
add esp, 0x44
test al, al
jne 0x405a60
push 0x4a9ee8
lea ecx, [esp + 0x2efc]
push 0x200
push ecx
call fcn.00407890
add esp, 0xc
push str.relay
lea edx, [esp + 0x2efc]
push 0x200
push edx
call fcn.00407890
push 0x41d5a6
push 0x4aa2e8
call fcn.00406670
add esp, 0x14
test al, al
jne 0x405aa7
push 0x4aa2e8
lea eax, [esp + 0x2efc]
push 0x200
push eax
call fcn.00407890
add esp, 0xc
push str.logo
lea ecx, [esp + 0x2efc]
push 0x200
push ecx
call fcn.00407890
lea edx, [esp + 0x32]
push 0x41d5a6
push edx
call fcn.00406670
add esp, 0x14
test al, al
jne 0x405aee
lea eax, [esp + 0x26]
push eax
lea ecx, [esp + 0x2efc]
push 0x200
push ecx
call fcn.00407890
add esp, 0xc
push str.url_help
lea edx, [esp + 0x2efc]
push 0x200
push edx
call fcn.00407890
lea eax, [esp + 0x938]
push 0x41d5a6
push eax
call fcn.00406670
add esp, 0x14
test al, al
jne 0x405b3b
lea ecx, [esp + 0x92c]
push ecx
lea edx, [esp + 0x2efc]
push 0x200
push edx
call fcn.00407890
add esp, 0xc
push str.url_register
lea eax, [esp + 0x2efc]
push 0x200
push eax
call fcn.00407890
push 0x41d5a6
push 0x4aa6e8
call fcn.00406670
add esp, 0x14
test al, al
jne 0x405b82
push 0x4aa6e8
lea ecx, [esp + 0x2efc]
push 0x200
push ecx
call fcn.00407890
add esp, 0xc
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x1688]
push eax
call fcn.00403aa0
add esp, 8
push 0
mov bl, al
call fcn.00406a30
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
mov ebp, dword [sym.imp.KERNEL32.dll_GetLastError]
jne 0x405c2e
call ebp
cmp eax, 0xb7
je 0x405c2e
push eax
call fcn.00406a30
push eax
push str.vseeUpdate.exe_error:_unable_to_create_directory__s__Error_code__d_n
lea ecx, [esp + 0x3410]
push 0x200
push ecx
call fcn.0040a7fb
push 0x163
push str.WinMain
push str.._vseeUpdateMain.cpp
call fcn.004010e0
add esp, 0x20
test al, al
je 0x405c18
call fcn.00401610
call fcn.00401580
lea edx, [esp + 0x3404]
push edx
call fcn.004014d0
add esp, 4
call fcn.00401630
push 0x1000
push str.VSee_error_message
lea eax, [esp + 0x340c]
push eax
push 0
call esi
push 0x103
lea ecx, [esp + 0x3201]
push 0
push ecx
mov byte [esp + 0x3208], 0
call fcn.0040a110
push 0x103
lea edx, [esp + 0x2e05]
push 0
push edx
mov byte [esp + 0x2e0c], 0
call fcn.0040a110
push 0x103
lea eax, [esp + 0x2d0d]
push 0
push eax
mov byte [esp + 0x2d14], 0
call fcn.0040a110
add esp, 0x24
lea ecx, [esp + 0x31fc]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea edx, [esp + 0x31fc]
push edx
push str._s_vsee.exe
lea eax, [esp + 0x2cf8]
push 0x104
push eax
call fcn.0040a7fb
call fcn.00406a30
push eax
push str._s_vsee.exe
lea ecx, [esp + 0x2e0c]
push 0x104
push ecx
call fcn.0040a7fb
push 0x172
push str.WinMain
push str.._vseeUpdateMain.cpp
call fcn.004010e0
add esp, 0x2c
test al, al
je 0x405d0b
call fcn.00401610
call fcn.00401580
push str.Copying_vsee.exe_to_program_files_directory
call fcn.004014d0
add esp, 4
call fcn.00401630
call fcn.00406a30
push eax
lea edx, [esp + 0x3200]
push edx
call fcn.00406670
mov edi, dword [sym.imp.KERNEL32.dll_CopyFileA]
add esp, 8
test al, al
jne 0x405f04
lea eax, [esp + 0x2cf0]
push eax
call fcn.00406550
add esp, 4
test al, al
je 0x405f04
mov ecx, dword [esp + 0x10]
push str._no_update
push ecx
call fcn.0040bfb0
add esp, 8
test eax, eax
je 0x405d75
lea edx, [esp + 0x2df4]
push edx
call fcn.00406550
add esp, 4
test al, al
jne 0x405f04
push 0x4aaaf4
push 0x4aaaf0
push 0x4aaaec
push 0x4aaae8
push 0x100
lea eax, [esp + 0x310c]
push eax
lea ecx, [esp + 0x2e0c]
push ecx
call fcn.004074a0
add esp, 0x1c
push 0
lea edx, [esp + 0x2df8]
push edx
lea eax, [esp + 0x2cf8]
push eax
call edi
test eax, eax
jne 0x405e48
call ebp
push eax
lea ecx, [esp + 0x2df8]
push ecx
lea edx, [esp + 0x2cf8]
push edx
push str.Unable_to_copy__s_to__s._Error_code__d_n
lea eax, [esp + 0x3414]
push 0x200
push eax
call fcn.0040a7fb
add esp, 0x18
push 0x1000
push str.VSee_error_message
lea ecx, [esp + 0x340c]
push ecx
push 0
call esi
push 0x17d
push str.WinMain
push str.._vseeUpdateMain.cpp
call fcn.004010e0
add esp, 0xc
test al, al
je 0x405f04
call fcn.00401610
call fcn.00401580
lea edx, [esp + 0x3404]
push edx
call fcn.004014d0
add esp, 4
call fcn.00401630
jmp 0x405f04
push 0x181
push str.WinMain
push str.._vseeUpdateMain.cpp
call fcn.004010e0
add esp, 0xc
test al, al
je 0x405e7f
call fcn.00401610
call fcn.00401580
push str.Succeeded_n
call fcn.004014d0
add esp, 4
call fcn.00401630
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x28]
push eax
push 0x100
lea ecx, [esp + 0x310c]
push ecx
lea edx, [esp + 0x2d08]
push edx
call fcn.004074a0
lea eax, [esp + 0x3114]
push eax
lea ecx, [esp + 0x19dc]
push 0x80
push ecx
call fcn.0040a0a1
lea edx, [esp + 0x3120]
push edx
lea eax, [esp + 0xd2]
push 0x80
push eax
call fcn.0040a0a1
add esp, 0x34
call fcn.00407380
test al, al
je 0x405f04
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x2cf0]
push ecx
call esi
push str.vsee.crc
call esi
call fcn.00406a30
push eax
push str._s_vseeUpdate.exe
lea edx, [esp + 0x2dfc]
push 0x104
push edx
call fcn.0040a7fb
lea eax, [esp + 0x320c]
push eax
push str._s_vseeUpdate.exe
lea ecx, [esp + 0x2d08]
push 0x104
push ecx
call fcn.0040a7fb
push 0x192
push str.WinMain
push str.._vseeUpdateMain.cpp
call fcn.004010e0
add esp, 0x2c
test al, al
je 0x405f77
call fcn.00401610
call fcn.00401580
push str.Copy_vseeUpdate.exe_to_program_files_directory
call fcn.004014d0
add esp, 4
call fcn.00401630
call fcn.00406a30
push eax
lea edx, [esp + 0x3200]
push edx
call fcn.00406670
add esp, 8
test al, al
jne 0x406071
lea eax, [esp + 0x2cf0]
push eax
call fcn.00406550
add esp, 4
test al, al
je 0x406071
mov ecx, dword [esp + 0x10]
push str._no_update
push ecx
call fcn.0040bfb0
add esp, 8
test eax, eax
je 0x405fdb
lea edx, [esp + 0x2df4]
push edx
call fcn.00406550
add esp, 4
test al, al
jne 0x406071
push 0
lea eax, [esp + 0x2df8]
push eax
lea ecx, [esp + 0x2cf8]
push ecx
call edi
test eax, eax
jne 0x40603a
push 0x197
push str.WinMain
push str.._vseeUpdateMain.cpp
call fcn.004010e0
add esp, 0xc
test al, al
je 0x406071
call fcn.00401610
call fcn.00401580
call ebp
push eax
lea edx, [esp + 0x2df8]
push edx
lea eax, [esp + 0x2cf8]
push eax
push str.Copy__s_to__s_failed._GetLastError_returns__d
call fcn.004014d0
add esp, 0x10
jmp 0x40606c
push 0x199
push str.WinMain
push str.._vseeUpdateMain.cpp
call fcn.004010e0
add esp, 0xc
test al, al
je 0x406071
call fcn.00401610
call fcn.00401580
push str.Succeeded
call fcn.004014d0
add esp, 4
call fcn.00401630
call fcn.00406bd0
test al, al
je 0x4060d4
mov ecx, dword [0x4aaae8]
test ecx, ecx
je 0x40609e
mov eax, dword [0x4aaaf4]
test eax, eax
je 0x40609e
cmp ecx, 9
jg 0x40609e
cmp eax, 0x387
jg 0x40609e
call fcn.004042a0
lea ecx, [esp + 0x24]
push ecx
call fcn.00404120
push 0x1a8
push str.WinMain
push str.._vseeUpdateMain.cpp
call fcn.004010e0
add esp, 0x10
test al, al
je 0x40610b
call fcn.00401610
call fcn.00401580
push str.vseeUpdate_status:_finished_writing_resource_files_n
jmp 0x4060fe
push 0x1aa
push str.WinMain
push str.._vseeUpdateMain.cpp
call fcn.004010e0
add esp, 0xc
test al, al
je 0x40610b
call fcn.00401610
call fcn.00401580
push str.vseeUpdateMain:_Can_not_access_working_directory_n
call fcn.004014d0
add esp, 4
call fcn.00401630
call fcn.004046d0
call fcn.004047e0
push 0x1b0
push str.WinMain
push str.._vseeUpdateMain.cpp
call fcn.004010e0
add esp, 0xc
test al, al
je 0x40614c
call fcn.00401610
call fcn.00401580
push str.vseeUpdate_status:_finished_registering_network_protocol_n
call fcn.004014d0
add esp, 4
call fcn.00401630
test bl, bl
je 0x406163
cmp byte [esp + 0x1b60], 0
jne 0x406163
call fcn.00404540
test al, al
je 0x40617c
lea edx, [esp + 0x2ef8]
push str._api
push edx
call fcn.0040bfb0
add esp, 8
test eax, eax
je 0x406188
call fcn.004044c0
push 0x1b5
jmp 0x4061ae
test bl, bl
jne 0x40619c
cmp byte [esp + 0x1681], bl
jne 0x40619c
call fcn.004044c0
jmp 0x4061e0
call fcn.004046f0
mov byte [esp + 0x1b60], 1
push 0x1bb
push str.WinMain
push str.._vseeUpdateMain.cpp
call fcn.004010e0
add esp, 0xc
test al, al
je 0x4061e0
call fcn.00401610
call fcn.00401580
push str.vseeUpdate_status:_set_user_config_autolaunch_off_n
call fcn.004014d0
add esp, 4
call fcn.00401630
lea eax, [esp + 0x2ef8]
push str._api
push eax
call fcn.0040bfb0
add esp, 8
test eax, eax
pop edi
pop esi
pop ebp
pop ebx
je 0x40621a
lea ecx, [esp + 0x2ee8]
push str._api_login
push ecx
call fcn.0040bfb0
add esp, 8
test eax, eax
je 0x4063fa
lea edx, [esp + 0x16]
push 0x41d5a6
push edx
call fcn.00406670
add esp, 8
test al, al
je 0x4063fa
push 0x103
lea eax, [esp + 0x32f5]
push 0
push eax
mov byte [esp + 0x32fc], 0
call fcn.0040a110
add esp, 0xc
push 0x41d460
call fcn.00406a30
push eax
push str._s_s
lea ecx, [esp + 0x32fc]
push 0x104
push ecx
call fcn.0040a7fb
push 0x103
lea edx, [esp + 0x3101]
push 0
push edx
mov byte [esp + 0x3108], 0
call fcn.0040a110
add esp, 0x20
push str.vseeUninstall.exe
call fcn.00406a30
push eax
push str._s_s
lea eax, [esp + 0x30f4]
push 0x104
push eax
call fcn.0040a7fb
push str.Uninstall_VSee.lnk
push 2
call fcn.00406c30
add esp, 0x1c
test al, al
jne 0x4062ed
push str.Uninstall_VSee
call fcn.00406a30
push eax
push 0
lea ecx, [esp + 0x30f4]
push ecx
push str.Uninstall_VSee.lnk
push 2
call fcn.00406e80
add esp, 0x18
push str.VSee.lnk
push 2
call fcn.00406c30
add esp, 8
test al, al
jne 0x406358
push 0x41f6ec
call fcn.00406a30
push eax
push 0
lea edx, [esp + 0x32fc]
push edx
push str.VSee.lnk
push 2
call fcn.00406e80
push 0x1ce
push str.WinMain
push str.._vseeUpdateMain.cpp
call fcn.004010e0
add esp, 0x24
test al, al
je 0x406358
call fcn.00401610
call fcn.00401580
push str.vseeUpdate_status:_created_shortcut_in_user_program_directory_n
call fcn.004014d0
add esp, 4
call fcn.00401630
push str.Uninstall_VSee.lnk
push 4
call fcn.00406c30
add esp, 8
test al, al
jne 0x40638f
push str.Uninstall_VSee
call fcn.00406a30
push eax
push 0
lea eax, [esp + 0x30f4]
push eax
push str.Uninstall_VSee.lnk
push 4
call fcn.00406e80
add esp, 0x18
push str.VSee.lnk
push 4
call fcn.00406c30
add esp, 8
test al, al
jne 0x4063fa
push 0x41f6ec
call fcn.00406a30
push eax
push 0
lea ecx, [esp + 0x32fc]
push ecx
push str.VSee.lnk
push 4
call fcn.00406e80
push 0x1d8
push str.WinMain
push str.._vseeUpdateMain.cpp
call fcn.004010e0
add esp, 0x24
test al, al
je 0x4063fa
call fcn.00401610
call fcn.00401580
push str.vseeUpdate_status:_created_shortcut_in_alluser_program_directory_n
call fcn.004014d0
add esp, 4
call fcn.00401630
lea edx, [esp + 0x1674]
push 0
push edx
call fcn.00403be0
lea eax, [esp + 0x1c]
push eax
call fcn.00403cd0
call fcn.00406a30
push eax
lea ecx, [esp + 0x31fc]
push ecx
call fcn.00406620
add esp, 0x14
test al, al
jne 0x406469
push 0x1ed
push str.WinMain
push str.._vseeUpdateMain.cpp
call fcn.004010e0
add esp, 0xc
test al, al
je 0x406464
call fcn.00401610
call fcn.00401580
push str.vseeUpdate.exe_self_delete_n
call fcn.004014d0
add esp, 4
call fcn.00401630
call fcn.00406940
push 0x1f0
push str.WinMain
push str.._vseeUpdateMain.cpp
call fcn.004010e0
add esp, 0xc
test al, al
je 0x4064a0
call fcn.00401610
call fcn.00401580
push str.vseeUpdate_status:__installation_completed._Exiting...___n
call fcn.004014d0
add esp, 4
call fcn.00401630
mov ecx, dword [esp + 0x3af8]
xor ecx, esp
xor eax, eax
call fcn.0040a52f
add esp, 0x3afc
ret 0x10