Function at 0x429190
Capabilities:
Check if file exists
Get file attributes
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x23c
mov eax, dword [0x473b80]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [ebp - 0x238], eax
test edi, edi
je 0x4293ed
test eax, eax
je 0x4293ed
cmp dword [edi + 0x10], 0
jne 0x4291dc
cmp dword [edi + 0xc], 0
jne 0x4291dc
mov al, 1
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00444627
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 8]
xor eax, eax
mov word [ebp - 0x230], ax
mov eax, ecx
mov bl, 1
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
lea esi, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x429203
sub eax, esi
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x230]
call fcn.00403570
mov eax, dword [ebp - 0x230]
mov esi, 8
cmp dword [ebp - 0x21c], esi
jae 0x429238
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x42924f
test al, 0x10
je 0x42924f
mov eax, 1
jmp 0x429251
xor eax, eax
test al, al
sete byte [ebp - 0x231]
cmp dword [ebp - 0x21c], esi
jb 0x429271
mov ecx, dword [ebp - 0x230]
push ecx
call fcn.00444884
add esp, 4
cmp byte [ebp - 0x231], 0
je 0x4292b8
mov edx, dword [edi + 8]
push edx
lea ecx, [ebp - 0x230]
call fcn.00403660
lea eax, [ebp - 0x230]
call fcn.00401250
mov bl, al
and bl, 1
cmp dword [ebp - 0x21c], esi
jb 0x4292b0
mov eax, dword [ebp - 0x230]
push eax
call fcn.00444884
add esp, 4
test bl, bl
je 0x4293ed
cmp dword [edi + 0x10], 0
je 0x429337
xor ecx, ecx
push 0x206
push ecx
lea edx, [ebp - 0x212]
push edx
mov word [ebp - 0x214], cx
call fcn.00449a10
mov eax, dword [edi + 8]
add esp, 0xc
push eax
lea ecx, [ebp - 0x214]
push 0x104
push ecx
call fcn.00444ebb
add esp, 0xc
push 0x467f90
lea edx, [ebp - 0x214]
push 0x104
push edx
call fcn.00444ebb
add esp, 0xc
lea ecx, [ebp - 0x214]
call fcn.00428ee0
test edx, edx
jne 0x429325
cmp eax, dword [edi + 0x10]
jae 0x429325
mov bl, 1
jmp 0x429337
xor bl, bl
cmp byte [edi + 0x14], bl
je 0x429337
lea esi, [ebp - 0x214]
call fcn.00428f70
cmp dword [edi + 0xc], 0
je 0x4293db
mov eax, dword [ebp - 0x238]
push 0
push 0
push 3
push 0
push 7
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x4293db
lea ecx, [ebp - 0x23c]
xor eax, eax
push ecx
push esi
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], eax
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x4293d2
cmp dword [ebp - 0x238], 0
jne 0x4293b5
mov edx, dword [ebp - 0x23c]
cmp edx, dword [edi + 0xc]
jae 0x4293b5
mov eax, 1
push esi
and bl, al
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, bl
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00444627
mov esp, ebp
pop ebp
ret
xor eax, eax
push esi
and bl, al
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, bl
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00444627
mov esp, ebp
pop ebp
ret
push esi
xor bl, bl
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, bl
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00444627
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 8]
pop esi
xor ecx, ebp
xor al, al
pop ebx
call fcn.00444627
mov esp, ebp
pop ebp
ret