Function at 0x419200
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53a422
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x58d984]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x5971b4]
test eax, eax
jne 0x419267
push 0x59a134
push 0x2c
call fcn.004eda8b
add esp, 8
mov dword [ebp - 0x44], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x419259
mov ecx, eax
call fcn.004038e0
jmp 0x41925b
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x5971b4], eax
push str.InstallerThread_start
push str.Reader___SetupHelper
push eax
call fcn.00404b40
add esp, 0xc
mov dword [ebp - 4], 1
call fcn.004048c0
mov ecx, eax
test ecx, ecx
je 0x419584
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x44], esi
cmp byte [0x597ae8], 0
mov ecx, 0x597d74
mov dword [ebp - 4], 2
jne 0x4192e3
lea eax, [ebp - 0x40]
push eax
call fcn.0041eb10
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 3
jb 0x4192c5
mov eax, dword [eax]
push eax
push 1
call fcn.00405920
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40]
call fcn.00403110
call fcn.0041aea0
jmp 0x419333
call fcn.0041ee90
test al, al
mov ecx, 0x597d74
lea eax, [ebp - 0x40]
push eax
je 0x41930b
call fcn.0041eb10
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 4
jb 0x419306
mov eax, dword [eax]
push eax
push 3
jmp 0x41931f
call fcn.0041eb10
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 5
jb 0x41931c
mov eax, dword [eax]
push eax
push 2
call fcn.00405920
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40]
call fcn.00403110
push 6
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
call fcn.0041a1e0
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x597b00
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4193be
push 0x597b00
push eax
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
test eax, eax
je 0x4193be
call fcn.004049c0
push 0x597b00
push str.extractInstallerFiles_create_dir__s__error
push str.Reader___SetupHelper
push eax
call fcn.00404b40
mov eax, dword [0x597af0]
add esp, 0x10
mov edi, dword [sym.imp.USER32.dll_PostMessageW]
test eax, eax
je 0x4193a4
push 4
push 0
push 0x7e9
push eax
call edi
call fcn.004049c0
push str.extractInstallerFiles_create_dir_error
push str.Reader___SetupHelper
push eax
call fcn.00404b40
add esp, 0xc
jmp 0x41940c
mov eax, dword [0x597aec]
add eax, 1
mov dword [0x597aec], eax
jns 0x4193d1
xor eax, eax
jmp 0x4193db
cmp eax, 0x64
jle 0x4193e0
mov eax, 0x64
mov dword [0x597aec], eax
mov ecx, dword [0x597af0]
mov edi, dword [sym.imp.USER32.dll_PostMessageW]
test ecx, ecx
je 0x4193fb
push eax
push 0
push 0x7e8
push ecx
call edi
push 0x597b00
call fcn.00419ae0
add esp, 4
test al, al
jne 0x419438
call fcn.004049c0
push str.InstallerThread_extractInstallerFiles_false
push str.Reader___SetupHelper
push eax
call fcn.00404b40
add esp, 0xc
mov eax, dword [0x597af0]
test eax, eax
je 0x419547
push 2
jmp 0x41953d
push 0x597b00
push reloc.gdiplus.dll_Ordinal_1
call fcn.00405f80
add esp, 8
test al, al
jne 0x419463
mov eax, dword [0x597af0]
test eax, eax
je 0x419463
push 6
push 0
push 0x7e9
push eax
call edi
push reloc.gdiplus.dll_Ordinal_1
call fcn.0041acb0
mov ecx, dword [0x597af0]
add esp, 4
test al, al
jne 0x419490
test ecx, ecx
je 0x419490
push 7
push 0
push 0x7e9
push ecx
call edi
mov ecx, dword [0x597af0]
mov eax, dword [0x597aec]
add eax, 1
mov dword [0x597aec], eax
jns 0x4194a3
xor eax, eax
jmp 0x4194ad
cmp eax, 0x64
jle 0x4194b2
mov eax, 0x64
mov dword [0x597aec], eax
test ecx, ecx
je 0x4194c1
push eax
push 0
push 0x7e8
push ecx
call edi
lea eax, [ebp - 0x28]
mov ecx, 0x597d74
push eax
call fcn.0041e910
cmp dword [ebp - 0x18], 0
mov byte [ebp - 4], 6
je 0x419521
lea eax, [ebp - 0x40]
push eax
call fcn.00405640
add esp, 4
cmp dword [ebp - 0x30], 0
mov byte [ebp - 4], 7
jne 0x419504
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
jb 0x4194fb
mov eax, dword [ebp - 0x28]
push eax
call fcn.00405e20
add esp, 4
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
jb 0x419510
mov eax, dword [ebp - 0x28]
push eax
call fcn.00405d40
add esp, 4
lea ecx, [ebp - 0x40]
call fcn.00403110
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00403110
call fcn.0041a4d0
mov eax, dword [0x597af0]
test eax, eax
je 0x419547
push 1
push 0
push 0x7e9
push eax
call edi
call dword [sym.imp.ole32.dll_CoUninitialize]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x419565
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004eda39
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.00404520
int3