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

Disassembly:
mov eax, 0x46dd9c
call fcn.0043f03c
sub esp, 0x12c
push ebx
push esi
push edi
mov esi, ecx
push 1
call fcn.0042b86f
test al, al
jne 0x42c0cc
xor ebx, ebx
cmp byte [esi + 0xe4], bl
jne 0x42c0cc
lea ecx, [esi + 0x78]
call fcn.0042d6b3
cmp eax, 0xffffffff
je 0x42c0cc
mov ecx, esi
call fcn.0042b98b
cmp eax, 0xffff
je 0x42c0cc
cmp dword [ebp + 0x10], ebx
je 0x42c0d3
lea eax, [ebp - 0x138]
push eax
push dword [ebp + 0x10]
call fcn.00460c53
test eax, eax
je 0x42c0cc
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x134]
push eax
mov ecx, edi
call fcn.0042b258
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
mov dword [edi + 0x24], eax
jne 0x42c0d3
xor al, al
jmp 0x42c298
lea ecx, [esi + 0x20]
call fcn.0042dfdf
push dword [ebp + 8]
lea edi, [esi + 0xe8]
mov ecx, edi
call fcn.0042e6a0
lea eax, [ebp - 0x10]
mov ecx, esi
push eax
call fcn.0042bcb3
mov ecx, eax
call fcn.0042b5f8
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], ebx
cmp dword [eax - 8], ebx
jne 0x42c132
mov ecx, esi
call fcn.0042b98b
push eax
lea eax, [ebp - 0x10]
push str.file_i
push eax
call fcn.0045986b
add esp, 0xc
mov ecx, esi
push dword [ebp - 0x10]
call fcn.0042bcb3
mov ecx, eax
call fcn.0042b5dc
mov al, byte [esi + 0x15c]
cmp al, byte [edi + 0x74]
jne 0x42c151
mov edi, dword [edi + 0x28]
push 1
mov ecx, edi
call fcn.0042b683
push ebx
mov ecx, edi
call fcn.0042b653
mov ecx, esi
call fcn.0042bcb3
push dword [eax + 0x24]
mov ecx, esi
call fcn.0042cddd
cmp dword [esi + 0x10], ebx
lea edi, [esi + 0x78]
mov ecx, edi
mov byte [ebp + 0x13], al
setne byte [ebp - 0x14]
push dword [ebp - 0x14]
call fcn.0042d6b3
dec eax
mov ecx, esi
neg eax
sbb al, al
inc al
push eax
push dword [ebp + 0xc]
call fcn.0042bcb3
mov ecx, eax
call fcn.0042b4bd
test al, al
jne 0x42c19f
push 0xffffffffffffff95
mov ecx, esi
call fcn.0042b89d
push edi
mov ecx, esi
call fcn.0042bcb3
mov ecx, eax
call fcn.0042b343
cmp byte [esi + 0x15c], bl
je 0x42c1c7
push dword [ebp - 0x10]
mov ecx, esi
call fcn.0042bcb3
mov ecx, eax
call fcn.0042b5dc
cmp byte [ebp - 0x14], bl
je 0x42c209
push ebx
push 0xc
lea ecx, [ebp - 0x20]
call fcn.0042d31e
lea eax, [ebp - 0x20]
mov ecx, esi
push eax
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 1
movzx eax, word [eax + 0x10]
shl eax, 0x10
push eax
call fcn.0042cfbe
push ebx
push 0xc
push dword [ebp - 0x1c]
mov ecx, edi
call fcn.0042de41
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], bl
call fcn.0042d342
cmp byte [ebp + 0x13], bl
mov dword [esi + 0x64], ebx
mov dword [esi + 0x2c], ebx
mov eax, dword [esi + 0x74]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ebx
mov dword [esi + 0x3c], ebx
je 0x42c23e
mov ecx, esi
call fcn.0042bcb3
cmp word [eax + 0xe], bx
je 0x42c23e
mov ecx, esi
call fcn.0042bcb3
mov word [eax + 0xe], bx
mov ecx, esi
call fcn.0042bcb3
cmp word [eax + 0xe], 8
jne 0x42c283
mov al, byte [esi + 4]
push 0x38
neg al
push str.1.2.3
push ebx
lea ecx, [esi + 0xc8]
push 8
sbb eax, eax
push 0xfffffffffffffff1
and eax, ecx
push 8
push dword [ebp + 0xc]
mov dword [esi + 0x50], eax
lea eax, [esi + 0x28]
push eax
call fcn.00431120
add esp, 0x20
mov ecx, esi
push eax
call fcn.0042bc9d
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
mov byte [esi + 0xe4], 1
call fcn.0045b5aa
mov al, 1
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0xc