Function at 0x42cc30
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe0
mov eax, dword [0x50b384]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
xor edi, edi
push edi
push str._verclsid.exe
lea eax, [ebp - 0x74]
push 0x25
push eax
mov byte [ebp - 0xc9], 0
call fcn.00470ba0
push edi
push str._verclsid.exe
lea ecx, [ebp - 0x3c]
push 0x29
push ecx
call fcn.00470ba0
add esp, 0x20
push 0xc
xor edx, edx
push str.verclsid.exe
lea ecx, [ebp - 0x20]
mov dword [ebp - 8], 7
mov dword [ebp - 0xc], edi
mov word [ebp - 0x1c], dx
call fcn.00401ce4
cmp dword [ebx + 0x14], edi
je 0x42d0df
mov ecx, ebx
call fcn.0040110c
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42d0df
mov ecx, ebx
call fcn.0040110c
push eax
call dword [sym.imp.SHELL32.dll_PathIsExe]
test eax, eax
je 0x42d0df
lea eax, [ebp - 0x74]
push eax
push ebx
call fcn.004386d0
add esp, 8
test al, al
jne 0x42cd46
lea ecx, [ebp - 0x3c]
push ecx
push ebx
call fcn.004386d0
add esp, 8
test al, al
jne 0x42cd46
mov ebx, 8
cmp dword [ebp - 8], ebx
jb 0x42cd06
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0048e976
add esp, 4
xor eax, eax
mov esi, 7
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], edi
mov word [ebp - 0x1c], ax
cmp dword [ebp - 0x24], ebx
jb 0x42cd28
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.0048e976
add esp, 4
xor edx, edx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], edi
mov word [ebp - 0x38], dx
cmp dword [ebp - 0x5c], ebx
jb 0x42d134
mov eax, dword [ebp - 0x70]
push eax
jmp 0x42d12c
cmp dword [esi + 0x14], edi
jne 0x42cda1
mov ebx, 8
cmp dword [ebp - 8], ebx
jb 0x42cd61
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.0048e976
add esp, 4
xor edx, edx
mov esi, 7
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], edi
mov word [ebp - 0x1c], dx
cmp dword [ebp - 0x24], ebx
jb 0x42cd83
mov eax, dword [ebp - 0x38]
push eax
call fcn.0048e976
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], edi
mov word [ebp - 0x38], cx
cmp dword [ebp - 0x5c], ebx
jb 0x42d134
mov edx, dword [ebp - 0x70]
push edx
jmp 0x42d12c
push edi
lea ecx, [ebp - 0xc8]
call fcn.0043fc70
push esi
lea ecx, [ebp - 0xc8]
call fcn.0043feb0
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0xdc]
call fcn.004103b6
lea ecx, [ebp - 0x58]
push ecx
lea ecx, [ebp - 0xc8]
call fcn.0043ecc0
lea edx, [ebp - 0x58]
push ebx
push edx
call fcn.004386d0
add esp, 8
test al, al
jne 0x42ce1c
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x58]
push ecx
call fcn.004386d0
add esp, 8
test al, al
jne 0x42ce1c
mov eax, dword [ebp - 0xd8]
lea edx, [ebp - 0x58]
push edx
push eax
lea ecx, [ebp - 0xe0]
push ecx
lea ecx, [ebp - 0xdc]
call fcn.0040be29
mov ecx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xd8]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x42cecc
mov ebx, 8
cmp dword [ebp - 0x40], ebx
jb 0x42ce59
mov edx, dword [ebp - 0x54]
push edx
call fcn.0048e976
add esp, 4
xor eax, eax
mov esi, 7
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x44], edi
mov word [ebp - 0x54], ax
call fcn.0041041a
lea ecx, [ebp - 0xc8]
call fcn.0043fbc0
cmp dword [ebp - 8], ebx
jb 0x42ce91
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.0048e976
add esp, 4
xor edx, edx
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], edi
mov word [ebp - 0x1c], dx
cmp dword [ebp - 0x24], ebx
jb 0x42ceae
mov eax, dword [ebp - 0x38]
push eax
call fcn.0048e976
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], edi
mov word [ebp - 0x38], cx
cmp dword [ebp - 0x5c], ebx
jb 0x42d134
mov edx, dword [ebp - 0x70]
push edx
jmp 0x42d12c
cmp ebx, edi
jbe 0x42cf77
mov eax, dword [esi + 0x14]
push 2
push 0x4d383c
push eax
push 0
mov ecx, esi
call fcn.004012ac
test eax, eax
je 0x42cf63
mov ecx, dword [esi + 0x14]
push 2
push 0x4d3834
push ecx
push 0
mov ecx, esi
call fcn.004012ac
test eax, eax
je 0x42cf46
mov edx, dword [esi + 0x14]
push 2
push 0x4d382c
push edx
push 0
mov ecx, esi
call fcn.004012ac
test eax, eax
je 0x42cf46
push 0x4d3824
push esi
call fcn.0042a650
add esp, 8
test al, al
je 0x42d034
inc edi
add esi, 0x1c
cmp edi, ebx
je 0x42d034
push esi
call fcn.0042a720
jmp 0x42cf58
inc edi
add esi, 0x1c
cmp edi, ebx
je 0x42d034
push esi
call fcn.0042a5a0
add esp, 4
test al, al
je 0x42d034
inc edi
add esi, 0x1c
cmp edi, ebx
jb 0x42ced4
mov esi, dword [ebp - 0xd8]
xor edi, edi
mov ebx, 8
mov byte [ebp - 0xc9], 1
cmp dword [ebp - 0x40], ebx
jb 0x42cf9a
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.0048e976
mov esi, dword [ebp - 0xd8]
add esp, 4
xor edx, edx
mov dword [ebp - 0x40], 7
mov dword [ebp - 0x44], edi
mov word [ebp - 0x54], dx
cmp esi, edi
je 0x42cfd8
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd4]
push eax
lea ecx, [ebp - 0xdc]
push ecx
push edx
push esi
call fcn.00409d39
mov eax, dword [ebp - 0xd8]
push eax
call fcn.0048e976
add esp, 0x14
lea ecx, [ebp - 0xc8]
call fcn.0043fbc0
cmp dword [ebp - 8], ebx
jb 0x42cff4
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.0048e976
add esp, 4
xor edx, edx
mov esi, 7
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], edi
mov word [ebp - 0x1c], dx
cmp dword [ebp - 0x24], ebx
jb 0x42d016
mov eax, dword [ebp - 0x38]
push eax
call fcn.0048e976
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], edi
mov word [ebp - 0x38], cx
cmp dword [ebp - 0x5c], ebx
jb 0x42d134
mov edx, dword [ebp - 0x70]
push edx
jmp 0x42d12c
mov ebx, 8
cmp dword [ebp - 0x40], ebx
jb 0x42d04a
mov eax, dword [ebp - 0x54]
push eax
call fcn.0048e976
add esp, 4
mov esi, dword [ebp - 0xd8]
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x40], 7
mov dword [ebp - 0x44], edi
mov word [ebp - 0x54], cx
cmp esi, edi
je 0x42d08a
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd4]
push edx
lea eax, [ebp - 0xdc]
push eax
push ecx
push esi
call fcn.00409d39
push esi
call fcn.0048e976
add esp, 0x14
lea ecx, [ebp - 0xc8]
call fcn.0043fbc0
cmp dword [ebp - 8], ebx
jb 0x42d0a6
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0048e976
add esp, 4
xor eax, eax
mov esi, 7
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], edi
mov word [ebp - 0x1c], ax
cmp dword [ebp - 0x24], ebx
jb 0x42d0c8
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.0048e976
add esp, 4
xor edx, edx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], edi
mov word [ebp - 0x38], dx
cmp dword [ebp - 0x5c], ebx
jb 0x42d134
mov eax, dword [ebp - 0x70]
push eax
jmp 0x42d12c
mov ebx, 8
cmp dword [ebp - 8], ebx
jb 0x42d0f5
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0048e976
add esp, 4
xor ecx, ecx
mov esi, 7
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], edi
mov word [ebp - 0x1c], cx
cmp dword [ebp - 0x24], ebx
jb 0x42d117
mov edx, dword [ebp - 0x38]
push edx
call fcn.0048e976
add esp, 4
xor eax, eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], edi
mov word [ebp - 0x38], ax
cmp dword [ebp - 0x5c], ebx
jb 0x42d134
mov ecx, dword [ebp - 0x70]
push ecx
call fcn.0048e976
add esp, 4
mov ecx, dword [ebp - 4]
mov al, byte [ebp - 0xc9]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0048ebcd
mov esp, ebp
pop ebp
ret