Function at 0x4193e0
Capabilities:
Check if file exists
Create process on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x496aae
mov eax, dword fs:[0]
push eax
sub esp, 0x420
mov eax, dword [0x4c0760]
xor eax, esp
mov dword [esp + 0x418], eax
push ebx
push esi
push edi
mov eax, dword [0x4c0760]
xor eax, esp
push eax
lea eax, [esp + 0x430]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [ebp + 8]
lea edx, [esp + 0x74]
push edx
mov ecx, dword [eax + 0x108]
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esp + 0x438], 0
mov edx, dword [eax]
xor eax, eax
mov dword [esp + 0x70], 7
mov dword [esp + 0x6c], 0
mov word [esp + 0x5c], ax
cmp word [edx], ax
jne 0x419462
xor ecx, ecx
jmp 0x419476
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x419467
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [esp + 0x64]
call fcn.0040e3a0
mov byte [esp + 0x438], 2
lea ecx, [esp + 0x78]
mov eax, dword [esp + 0x74]
cmp eax, ecx
je 0x41949e
push eax
call fcn.00460424
add esp, 4
push 8
push str.closeBtn
push dword [esp + 0x74]
push ecx
lea ecx, [esp + 0x6c]
call fcn.0040ea00
test eax, eax
jne 0x4194dc
push dword [esi + 4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x419849
push 0
push 2
push 0x10
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x419849
push 0xe
push str.installHelpBtn
push dword [esp + 0x74]
push ecx
lea ecx, [esp + 0x6c]
call fcn.0040ea00
test eax, eax
jne 0x41950d
push 0x4ab2b8
lea ecx, [esp + 0x18]
call fcn.0040e040
mov byte [esp + 0x438], 3
jmp 0x41953c
push 0xa
push str.useHelpBtn
push dword [esp + 0x74]
push ecx
lea ecx, [esp + 0x6c]
call fcn.0040ea00
test eax, eax
jne 0x4195a3
push 0x4ab2e8
lea ecx, [esp + 0x18]
call fcn.0040e040
mov byte [esp + 0x438], 4
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.0041b750
mov ecx, eax
call fcn.0041b940
cmp dword [esp + 0x28], 8
jb 0x419565
push dword [esp + 0x14]
call fcn.0046080a
add esp, 4
cmp dword [esp + 0x58], 8
lea eax, [esp + 0x44]
push 5
cmovae eax, dword [esp + 0x48]
push 0
push 0
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp dword [esp + 0x58], 8
jb 0x419849
push dword [esp + 0x44]
call fcn.0046080a
add esp, 4
jmp 0x419849
mov edx, str.customerServiceBtn
lea ecx, [esp + 0x5c]
call fcn.0040ea80
test al, al
je 0x4195ef
push 0x4ab31c
lea ecx, [esp + 0x18]
call fcn.0040e040
lea eax, [esp + 0x14]
mov byte [esp + 0x438], 5
push eax
lea eax, [esp + 0x48]
push eax
call fcn.0041b750
mov ecx, eax
call fcn.0041b940
lea ecx, [esp + 0x14]
call fcn.0040b5d0
jmp 0x41969b
mov edx, str.installBtn
lea ecx, [esp + 0x5c]
call fcn.0040ea80
test al, al
je 0x419849
push str.___f_vN
lea ecx, [esp + 0x18]
call fcn.0040e040
lea eax, [esp + 0x14]
mov byte [esp + 0x438], 6
push eax
lea eax, [esp + 0x30]
push eax
call fcn.0041b750
mov ecx, eax
call fcn.0041b9e0
mov edx, 0x4aa06c
mov byte [esp + 0x438], 7
mov ecx, eax
call fcn.0040ea80
lea ecx, [esp + 0x2c]
mov bl, al
call fcn.0040b5d0
lea ecx, [esp + 0x14]
mov byte [esp + 0x438], 2
call fcn.0040b5d0
lea eax, [esp + 0x44]
push eax
push ecx
call fcn.004112f0
add esp, 4
mov ecx, eax
call fcn.004115a0
mov byte [esp + 0x438], 8
test bl, bl
jne 0x4196c2
cmp dword [esp + 0x58], 8
lea eax, [esp + 0x44]
cmovae eax, dword [esp + 0x44]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4196c2
cmp dword [esp + 0x58], 8
lea eax, [esp + 0x44]
push 5
cmovae eax, dword [esp + 0x48]
push 0
push 0
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x419840
test esi, esi
je 0x4196ce
lea edi, [esi + 0x2b4]
jmp 0x4196d0
xor edi, edi
call fcn.004112f0
mov dword [eax + 0x1c], edi
call fcn.004112f0
mov ecx, eax
call fcn.00411500
lea ecx, [esp + 0x74]
call fcn.00419890
push 0x4ab354
lea ecx, [esp + 0x78]
mov byte [esp + 0x43c], 9
call fcn.0040e0a0
push str.ck_W_vN
lea ecx, [esp + 0x90]
call fcn.0040e0a0
push 0x4ab374
lea ecx, [esp + 0xa8]
call fcn.0040e0a0
push 0x4ab380
lea ecx, [esp + 0xc0]
call fcn.0040e0a0
push 0x328
lea eax, [esp + 0x100]
mov dword [esp + 0xd8], 0x14
push 0
push eax
call fcn.00462c70
add esp, 0xc
lea ecx, [esp + 0xfc]
call fcn.0041a830
lea eax, [esp + 0x74]
mov byte [esp + 0x438], 0xa
push eax
lea ecx, [esp + 0x100]
call fcn.00418e50
push ecx
push SysReAllocString
push SysReAllocString
push SysReAllocString
push SysReAllocString
push 0
push 0x90000000
push 0
push dword [esi + 4]
lea ecx, [esp + 0x120]
call fcn.004264c4
lea ecx, [esp + 0xfc]
call fcn.0042669f
lea eax, [esp + 0xfc]
mov ecx, eax
mov dword [esi + 0x2b8], eax
call fcn.0042659e
mov dword [esi + 0x2b8], 0
cmp eax, 1
jne 0x419823
lea eax, [esp + 0x2c]
push eax
push ecx
call fcn.004112f0
add esp, 4
mov ecx, eax
call fcn.004115a0
push eax
lea ecx, [esp + 0x48]
call fcn.00410730
lea ecx, [esp + 0x2c]
call fcn.0040b5d0
cmp dword [esp + 0x58], 8
lea eax, [esp + 0x44]
push 5
cmovae eax, dword [esp + 0x48]
push 0
push 0
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [esp + 0xfc]
mov byte [esp + 0x438], 9
call fcn.0041a920
lea ecx, [esp + 0x74]
call fcn.004198e0
lea ecx, [esp + 0x44]
call fcn.0040b5d0
cmp dword [esp + 0x70], 8
jb 0x41985c
push dword [esp + 0x5c]
call fcn.0046080a
add esp, 4
mov ecx, dword [esp + 0x430]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x418]
xor ecx, esp
call fcn.0045fbcc
mov esp, ebp
pop ebp
ret 4