Function at 0xb82700
Capabilities:
Accept command line arguments
Check if file exists
Check mutex on windows
Get common file path
Get file attributes
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [0xba2004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push 0xb9fb32
mov dword [ebp - 0x10], ebx
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryA]
push str.SetDefaultDllDirectories
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0xb82745
push 0x800
call eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov esi, 0x804
mov edx, 0xba2a70
push str.VtoyVlnkMUTEX
cmp ax, si
mov ecx, 0xba2ab8
push 1
cmovne ecx, edx
push 0
mov dword [0xba3640], ecx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
test eax, eax
je 0xb827b1
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0xb827b1
mov eax, dword [0xba3640]
push 0x10
push dword [eax]
push dword [eax + 0x28]
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00b83088
mov esp, ebp
pop ebp
ret 0x10
push 0xba4170
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 0xba3a48
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push 0xba4170
push str._sVentoyVlnk.log
push 0x104
push 0xba3c50
call fcn.00b81230
add esp, 0x10
mov dword [ebp - 8], 0
lea eax, [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
cmp dword [ebp - 8], 0
mov esi, eax
jle 0xb82920
push edi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpW]
mov ebx, 1
nop dword [eax]
push 0xb9fae4
push dword [esi]
mov dword [ebp - 0xc], ebx
call edi
test eax, eax
je 0xb82905
push 0xb9faec
push dword [esi]
call edi
test eax, eax
je 0xb82905
push 0xb9faf4
push dword [esi]
call edi
test eax, eax
je 0xb828f9
push 0xb9fafc
push dword [esi]
call edi
test eax, eax
je 0xb828f9
push 0xb9fb04
push dword [esi]
call edi
test eax, eax
je 0xb828ed
push 0xb9fb0c
push dword [esi]
call edi
test eax, eax
je 0xb828ed
push 0xb9fb14
push dword [esi]
call edi
test eax, eax
je 0xb828d1
push 0xb9fb1c
push dword [esi]
call edi
test eax, eax
je 0xb828d1
push 0xb9fb24
push dword [esi]
call edi
test eax, eax
je 0xb828b5
push 0xb9fb2c
push dword [esi]
call edi
test eax, eax
jne 0xb8290c
cmp ebx, dword [ebp - 8]
jge 0xb8290c
push dword [esi + 4]
push 0x104
push 0xba3f68
call fcn.00b87e46
add esp, 0xc
jmp 0xb8290c
cmp ebx, dword [ebp - 8]
jge 0xb8290c
push dword [esi + 4]
push 0x104
push 0xba3d58
call fcn.00b87e46
add esp, 0xc
jmp 0xb8290c
mov dword [0xba3f60], 1
jmp 0xb8290c
mov dword [0xba3f64], 1
jmp 0xb8290c
mov byte [0xba3c50], 0
mov eax, dword [ebp - 0xc]
inc ebx
add esi, 4
cmp eax, dword [ebp - 8]
jl 0xb82820
mov ebx, dword [ebp - 0x10]
pop edi
cmp dword [0xba3f64], 0
mov dword [0xba4288], ebx
je 0xb8296f
cmp word [0xba3d58], 0
je 0xb82947
cmp word [0xba3f68], 0
jne 0xb82aa8
push 0
push 0xb9fb90
push str.VentoyVlnk.exe__CMD_r_n___i__Input_file_path_r_n___o__Output_vlnk_file_path_r_n___q__Quite_mode__no_log_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00b83088
mov esp, ebp
pop ebp
ret 0x10
cmp word [0xba3d58], 0
je 0xb82a89
cmp word [0xba3f68], 0
je 0xb82a89
push str._VentoyVlnk_Cmdline_Mode__n
call fcn.00b81370
add esp, 4
push 0xba3d58
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0xb82a38
test al, 0x10
jne 0xb82a38
mov ecx, 0xba3f68
call fcn.00b817e0
push 0xba3f68
test eax, eax
jne 0xb82a17
push str.File____ls___contains_invalid_vlnk_suffix__n
call fcn.00b81270
mov eax, dword [0xba3640]
add esp, 8
cmp word [0xba3d58], 0
je 0xb829f1
cmp word [0xba3f68], 0
jne 0xb82a72
push 0x10
push dword [eax]
push dword [eax + 0x44]
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00b83088
mov esp, ebp
pop ebp
ret 0x10
push 0xba3d58
xor ecx, ecx
call fcn.00b81890
add esp, 8
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00b83088
mov esp, ebp
pop ebp
ret 0x10
push 0xba3d58
push str.File____ls___does_not_exist__n
call fcn.00b81270
mov eax, dword [0xba3640]
add esp, 8
cmp word [0xba3d58], 0
je 0xb82a63
cmp word [0xba3f68], 0
jne 0xb82a72
push 0x10
push dword [eax]
push dword [eax + 0x10]
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00b83088
mov esp, ebp
pop ebp
ret 0x10
push str._VentoyVlnk_GUI_Mode__n
call fcn.00b81370
add esp, 4
push 0
push 0xb82580
push 0
push 0x65
push ebx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
mov ecx, dword [ebp - 4]
xor eax, eax
pop esi
xor ecx, ebp
pop ebx
call fcn.00b83088
mov esp, ebp
pop ebp
ret 0x10