Function at 0x4350a0
Capabilities:
Accept command line arguments
Check if file exists
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x238
mov eax, dword [0x528c24]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
push edi
mov ecx, 0x52ac20
mov dword [0x52b718], edi
call fcn.0040cad0
xor eax, eax
push 0x206
push eax
lea ecx, [ebp - 0x20a]
push ecx
mov word [ebp - 0x20c], ax
call fcn.0048d9d0
add esp, 0xc
push 0
push 0x1a
lea edx, [ebp - 0x20c]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push str.360Safe360DrvMgr
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push ecx
lea edx, [ebp - 0x20c]
mov ecx, esp
mov dword [ebp - 0x210], esp
push edx
call fcn.0040e6b0
mov ecx, 0x52ac20
call fcn.0040f2a0
lea eax, [ebp - 0x210]
push eax
push str.360DrvTip.exe
push 0x4ff100
push 0x4ff0d8
mov ecx, 0x52aeb8
mov dword [ebp - 0x210], 0
call fcn.00416e50
test eax, eax
jne 0x4354ea
push str._elevated
push esi
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
jne 0x4351a2
mov ecx, 0x52aeb8
call fcn.00416210
push esi
call fcn.0043a900
add esp, 4
cmp eax, 1
je 0x4354ea
cmp eax, 2
je 0x4354ea
call fcn.0042ca30
test eax, eax
je 0x4354ea
push str.360Base.dll
lea ecx, [ebp - 0x210]
push ecx
mov ecx, 0x52ac20
call fcn.0040fea0
push eax
lea edx, [ebp - 0x21c]
push edx
call fcn.0040e000
mov eax, dword [ebp - 0x210]
add eax, 0xfffffff0
add esp, 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4351ea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x21c]
push ecx
call fcn.00485b00
add esp, 4
test eax, eax
jne 0x435234
mov eax, dword [ebp - 0x21c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x43521f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
or eax, 0xffffffff
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0048d9be
mov esp, ebp
pop ebp
ret 0x10
push str.360Util.dll
lea ecx, [ebp - 0x210]
push ecx
mov ecx, 0x52ac20
call fcn.0040fea0
push eax
lea edx, [ebp - 0x214]
push edx
call fcn.0040e000
mov eax, dword [ebp - 0x210]
add eax, 0xfffffff0
add esp, 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43527c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x214]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push ecx
call esi
test eax, eax
jne 0x4352d7
push str.360Util.dll
call fcn.00428bb0
push eax
lea edx, [ebp - 0x210]
push edx
call fcn.0040e000
add esp, 0xc
push eax
lea ecx, [ebp - 0x214]
call fcn.0040c3d0
mov eax, dword [ebp - 0x210]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4352d7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x214]
push ecx
call fcn.0042d790
mov ecx, eax
call fcn.00430580
call fcn.00478ea0
test eax, eax
jne 0x43530e
mov eax, dword [ebp - 0x214]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x4354bc
push str.CrashReport.dll
lea ecx, [ebp - 0x210]
push ecx
mov ecx, 0x52ac20
call fcn.0040fea0
push eax
lea edx, [ebp - 0x218]
push edx
call fcn.0040e000
mov eax, dword [ebp - 0x210]
add eax, 0xfffffff0
add esp, 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x435356
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x218]
push ecx
call esi
test eax, eax
je 0x435385
mov edx, dword [ebp - 0x218]
push edx
call fcn.0040bd40
add esp, 4
test eax, eax
je 0x435385
mov eax, dword [ebp - 0x218]
push eax
call fcn.00431740
add esp, 4
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 1
push 0x4a
call fcn.00422380
push 1
push 0x10
call fcn.00422380
add esp, 0x10
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
push 4
call fcn.0042cf00
add esp, 4
push 0
push edi
push 0
mov ecx, 0x52ae78
call fcn.0042dd40
push 1
push 2
push 0
lea ecx, [ebp - 0x238]
call fcn.00434770
lea ecx, [ebp - 0x238]
call fcn.00434ee0
mov ecx, dword [0x52b860]
push str.32770
push 0x4ff100
push ecx
call fcn.0042c9a0
add esp, 0xc
push 0x4ff100
push str.32770
call fcn.004319d0
call fcn.0042d790
mov ecx, eax
call fcn.00432460
mov edx, dword [ebp + 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call fcn.004328c0
add esp, 8
call fcn.0042d790
mov ecx, eax
call fcn.00432490
call fcn.00431850
test eax, eax
je 0x435449
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
call fcn.00439670
mov ecx, 0x52ae78
call fcn.00432770
push 0
push 0x4a
call fcn.00422380
add esp, 8
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x218]
push eax
call fcn.004317a0
add esp, 4
lea ecx, [ebp - 0x238]
call fcn.00430510
mov eax, dword [ebp - 0x218]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4354a6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x214]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4354c8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x21c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4354ea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
xor eax, eax
pop esi
call fcn.0048d9be
mov esp, ebp
pop ebp
ret 0x10