Function at 0x433170
Capabilities:
Check if file exists

Disassembly:
push ebp
lea ebp, [esp - 0x1004]
mov eax, 0x1004
call fcn.004ab4d0
push 0xffffffffffffffff
push 0x4c92f0
mov eax, dword fs:[0]
push eax
sub esp, 0x18
mov eax, dword [0x51c080]
xor eax, ebp
mov dword [ebp + 0x1000], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0x100c]
mov dword [ebp - 0x24], eax
mov esi, ecx
mov dword [ebp - 0x18], 1
mov dword [ebp - 4], 0
test esi, esi
jne 0x4331d4
xor eax, eax
jmp 0x433519
lea ebx, [esi + 0x8a18]
mov dword [ebp - 0x20], ebx
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4331e2
sub eax, edx
sar eax, 1
je 0x4332aa
push 0x800
push 0
lea ecx, [ebp + 0x800]
push ecx
call fcn.004ab450
add esp, 0xc
push 0
push 0x400
push 0x527d38
lea edi, [ebp + 0x800]
mov edx, ebx
call fcn.00458ee0
test eax, eax
je 0x433240
push 0x3ff
push ebx
push 0x400
mov edx, edi
push edx
call fcn.004a9be0
add esp, 0x10
call fcn.00411870
test eax, eax
jne 0x43328b
lea ecx, [ebp + 0x800]
call fcn.00442a00
test al, al
jne 0x43328b
push 0x800
push 0
push ebx
call fcn.004ab450
mov dword [ebp - 0x18], 3
lea eax, [ebp + 0x800]
push eax
lea ecx, [esi + 4]
push ecx
push str.__s__Install_command_was_invalid___s____
mov ecx, 0x527b30
call fcn.00449000
add esp, 0x18
jmp 0x4332b1
lea edx, [ebp + 0x800]
push edx
lea eax, [esi + 4]
push eax
push str.__s__Install_command_was_valid___s_
mov ecx, 0x527b30
call fcn.00449000
add esp, 0xc
jmp 0x4332b1
mov dword [ebp - 0x18], 3
cmp byte [esi + 0x8204], 0
jne 0x4333fe
mov byte [ebp - 0x11], 0
lea ebx, [esi + 0x9a18]
mov eax, ebx
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4332d0
sub eax, edx
sar eax, 1
je 0x433379
push 0x800
push 0
lea ecx, [ebp + 0x800]
push ecx
call fcn.004ab450
add esp, 0xc
push 0
push 0x400
push 0x527d38
lea edi, [ebp + 0x800]
mov edx, ebx
call fcn.00458ee0
test eax, eax
je 0x43332e
push 0x3ff
push ebx
push 0x400
mov edx, edi
push edx
call fcn.004a9be0
add esp, 0x10
call fcn.00411870
cmp eax, 1
jne 0x43349d
lea ecx, [ebp + 0x800]
call fcn.00442a00
test al, al
jne 0x43349d
push 0x800
push 0
push ebx
call fcn.004ab450
lea eax, [ebp + 0x800]
push eax
lea ecx, [esi + 4]
push ecx
push str.__s__uninstall_command_was_invalid___s____
mov ecx, 0x527b30
call fcn.00449000
add esp, 0x18
lea edi, [esi + 0xaa18]
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x433384
sub eax, edx
sar eax, 1
je 0x4334de
push 0x800
push 0
lea ecx, [ebp]
push ecx
call fcn.004ab450
add esp, 0xc
push edi
push str.UninstallInfo
mov edx, dword [ebp - 0x24]
mov eax, dword [edx]
push eax
mov eax, 0x400
lea edx, [ebp]
call fcn.00441090
test eax, eax
jne 0x4334c3
lea ecx, [ebp]
call fcn.00442a00
mov byte [ebp - 0x11], al
test al, al
je 0x4334c3
lea ecx, [ebp]
push ecx
push edi
lea edx, [esi + 4]
push edx
push str.__s__uninstall_command_from_key__s__was_invalid___s___
mov ecx, 0x527b30
call fcn.00449000
add esp, 0x10
mov ebx, dword [ebp - 0x20]
cmp dword [ebp - 0x18], 1
jne 0x43350f
mov byte [ebp - 0x12], 1
add esi, 0x404
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x433417
sub eax, edx
sar eax, 1
je 0x433505
push 0x800
push 0
lea edx, [ebp + 0x800]
push edx
call fcn.004ab450
add esp, 0xc
push 0
push 0x400
push 0x527d38
lea edi, [ebp + 0x800]
mov edx, esi
call fcn.00458ee0
test eax, eax
je 0x433475
push 0x3ff
push esi
push 0x400
mov eax, edi
push eax
call fcn.004a9be0
add esp, 0x10
lea ecx, [ebp + 0x800]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x433505
lea edx, [ebp + 0x800]
push edx
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x433505
mov byte [ebp - 0x12], 0
jmp 0x43350f
mov byte [ebp - 0x11], 1
lea edx, [ebp + 0x800]
push edx
lea eax, [esi + 4]
push eax
push str.__s__uninstall_command_was_valid___s_
mov ecx, 0x527b30
call fcn.00449000
add esp, 0xc
jmp 0x4333fb
lea eax, [ebp]
push eax
push edi
lea ecx, [esi + 4]
push ecx
push str.__s__uninstall_command_from_key__s__was_invalid___s___
mov ecx, 0x527b30
call fcn.00449000
add esp, 0x10
lea eax, [esi + 0x404]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4334e7
sub eax, edx
sar eax, 1
je 0x4333fb
mov dword [ebp - 0x18], 3
jmp 0x43350f
push esi
xor edx, edx
mov ecx, ebx
call fcn.00433da0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x1000]
xor ecx, ebp
call fcn.004a998e
add ebp, 0x1004
mov esp, ebp
pop ebp
ret 4