Function at 0x40293e
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff7f8
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 8], edx
mov byte [ebp - 1], al
mov edi, dword [ebp + 0xc]
mov ebx, 0x4105ff
cmp byte [ebp - 1], 0
je 0x402c49
push 0x400
lea eax, [ebp - 0x808]
push eax
push 0
call sub.KERNEL32.DLL_GetModuleFileNameA
push dword [ebp - 8]
lea eax, [ebp - 0x808]
call fcn.00404c00
push eax
call fcn.004076a8
add esp, 8
lea edx, [ebp - 0x808]
push edx
call sub.KERNEL32.DLL_GetFileAttributesA
cmp eax, 0xffffffff
je 0x402a47
cmp byte [ebp + 8], 0
je 0x4029b0
mov al, 1
call fcn.0040281c
lea edx, [ebx + 0x1f1]
lea ecx, [ebx + 0x2e1]
push edx
push esi
push ecx
lea eax, [ebp - 0x408]
push eax
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.004024f8
lea edx, [ebp - 0x808]
lea ecx, [ebx + 0x2ea]
push edx
push esi
push ecx
lea eax, [ebp - 0x408]
push eax
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.004024f8
lea edx, [ebx + 0x311]
lea ecx, [ebx + 0x2ea]
push edx
push esi
push ecx
lea eax, [ebp - 0x408]
push eax
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 0x302]
mov eax, 0x80000000
call fcn.004024f8
cmp byte [ebp + 8], 0
je 0x402a47
xor eax, eax
call fcn.0040281c
lea edx, [ebx + 4]
lea ecx, [ebx + 0x31b]
push edx
push esi
push ecx
lea eax, [ebp - 0x408]
push eax
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.004024f8
lea edx, [ebx + 4]
lea ecx, [ebx + 0x341]
push edx
push esi
push ecx
lea eax, [ebp - 0x408]
push eax
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.004024f8
lea edx, [ebx + 4]
lea ecx, [ebx + 0x369]
push edx
push esi
push ecx
lea eax, [ebp - 0x408]
push eax
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.004024f8
lea edx, [ebx + 4]
lea ecx, [ebx + 0x393]
push edx
push esi
push ecx
lea eax, [ebp - 0x408]
push eax
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.004024f8
lea edx, [ebx + 4]
lea ecx, [ebx + 0x3bf]
push edx
push esi
push ecx
lea eax, [ebp - 0x408]
push eax
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.004024f8
push esi
lea ecx, [ebx + 4]
lea edx, [ebx + 0x3e8]
mov eax, 0x80000000
call fcn.004024f8
push esi
lea ecx, [ebx + 4]
lea edx, [ebx + 0x403]
mov eax, 0x80000000
call fcn.004024f8
push esi
push edi
lea edx, [ebx + 0x422]
push edx
lea ecx, [ebp - 0x408]
push ecx
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.004024f8
push esi
push edi
lea eax, [ebx + 0x443]
push eax
lea edx, [ebp - 0x408]
push edx
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.004024f8
push esi
push edi
lea eax, [ebx + 0x469]
push eax
lea edx, [ebp - 0x408]
push edx
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.004024f8
push esi
push edi
lea eax, [ebx + 0x48c]
push eax
lea edx, [ebp - 0x408]
push edx
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.004024f8
push esi
push edi
lea eax, [ebx + 0x4ae]
push eax
lea edx, [ebp - 0x408]
push edx
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.004024f8
push esi
push edi
lea eax, [ebx + 0x4d7]
push eax
lea edx, [ebp - 0x408]
push edx
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.004024f8
lea eax, [ebx + 0x541]
lea edx, [ebx + 0x4fd]
push eax
mov eax, 0x80000002
mov ecx, esi
call fcn.004024f8
jmp 0x402e54
push esi
lea edx, [ebx + 0x2ea]
push edx
lea ecx, [ebp - 0x408]
push ecx
call fcn.004028cf
add esp, 0xc
mov edx, eax
mov eax, 0x80000000
call fcn.00402700
push esi
lea ecx, [ebx + 0x2e1]
push ecx
lea eax, [ebp - 0x408]
push eax
call fcn.004028cf
add esp, 0xc
mov edx, eax
mov eax, 0x80000000
call fcn.00402700
push esi
lea edx, [ebx + 0x31b]
push edx
lea ecx, [ebp - 0x408]
push ecx
call fcn.004028cf
add esp, 0xc
mov edx, eax
mov eax, 0x80000000
call fcn.00402700
push esi
lea ecx, [ebx + 0x341]
push ecx
lea eax, [ebp - 0x408]
push eax
call fcn.004028cf
add esp, 0xc
mov edx, eax
mov eax, 0x80000000
call fcn.00402700
push esi
lea edx, [ebx + 0x369]
push edx
lea ecx, [ebp - 0x408]
push ecx
call fcn.004028cf
add esp, 0xc
mov edx, eax
mov eax, 0x80000000
call fcn.00402700
push esi
lea ecx, [ebx + 0x393]
push ecx
lea eax, [ebp - 0x408]
push eax
call fcn.004028cf
add esp, 0xc
mov edx, eax
mov eax, 0x80000000
call fcn.00402700
push esi
lea edx, [ebx + 0x3bf]
push edx
lea ecx, [ebp - 0x408]
push ecx
call fcn.004028cf
add esp, 0xc
mov edx, eax
mov eax, 0x80000000
call fcn.00402700
lea edx, [ebx + 0x3e8]
mov eax, 0x80000000
call fcn.00402700
lea edx, [ebx + 0x403]
mov eax, 0x80000000
call fcn.00402700
push edi
lea ecx, [ebx + 0x422]
push ecx
lea eax, [ebp - 0x408]
push eax
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.00402734
push edi
lea edx, [ebx + 0x443]
push edx
lea ecx, [ebp - 0x408]
push ecx
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.00402734
push edi
lea eax, [ebx + 0x469]
push eax
lea edx, [ebp - 0x408]
push edx
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.00402734
push edi
lea eax, [ebx + 0x48c]
push eax
lea edx, [ebp - 0x408]
push edx
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.00402734
push edi
lea eax, [ebx + 0x4ae]
push eax
lea edx, [ebp - 0x408]
push edx
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.00402734
push edi
lea eax, [ebx + 0x4d7]
push eax
lea edx, [ebp - 0x408]
push edx
call fcn.004028cf
add esp, 0xc
mov edx, eax
lea ecx, [ebx + 4]
mov eax, 0x80000000
call fcn.00402734
lea edx, [ebx + 0x4fd]
mov ecx, esi
mov eax, 0x80000002
call fcn.00402734
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8