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

Disassembly:
sub esp, 0x30
push ebx
push ebp
mov ebp, dword [esp + 0x3c]
mov eax, dword [ebp + 8]
test eax, eax
mov ebx, edx
mov dword [esp + 8], ebx
jne 0x4a0822
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
push 1
push eax
push edx
mov edx, dword [ebx]
push ebp
call fcn.004f48e0
pop ebp
pop ebx
add esp, 0x30
ret 0x14
mov eax, dword [ebp + 0x40]
test eax, eax
jne 0x4a0836
pop ebp
mov eax, 2
pop ebx
add esp, 0x30
ret 0x14
mov ecx, dword [eax + 0x1c]
push edi
mov edi, 1
cmp ecx, edi
je 0x4a084e
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 0x30
ret 0x14
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x4a0c8b
mov ecx, dword [eax]
push esi
call fcn.00524e60
mov eax, dword [ebp + 0x40]
mov esi, dword [esp + 0x4c]
mov ecx, dword [eax]
mov edx, esi
call fcn.0041da40
test eax, eax
je 0x4a0c8a
lea ecx, [esp + 0x1c]
push ecx
push esi
call fcn.005815d4
add esp, 8
test eax, eax
jne 0x4a0c8a
cmp dword [esp + 0x54], edi
je 0x4a0bef
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4a0bef
mov edx, dword [ebp]
push 0x2e
push edx
call fcn.00570980
mov edi, eax
add esp, 8
test edi, edi
je 0x4a0bef
push str..size
push edi
call fcn.005809c6
add esp, 8
test eax, eax
je 0x4a0bef
push str..atime
push edi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4a0901
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
push eax
push 0x583940
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4a0c8a
push str..mtime
push edi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4a0930
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x48]
push edx
push 0x583940
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4a0c8a
push str..ctime
push edi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4a095f
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x48]
push ecx
push 0x583940
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4a0c8a
push str..shortfn
push edi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4a0994
mov ecx, dword [esp + 0x48]
mov edi, ecx
mov eax, esi
sub edi, esi
jmp 0x4a0980
mov dl, byte [eax]
mov byte [edi + eax], dl
inc eax
test dl, dl
jne 0x4a0980
call fcn.00512e70
jmp 0x4a0c8a
push str..longfn
push edi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4a09ef
mov edi, dword [esp + 0x48]
mov ecx, esi
mov byte [edi], al
call fcn.00512d60
test eax, eax
je 0x4a09d3
mov edx, edi
mov eax, esi
sub edx, esi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4a09c0
cmp byte [edi], 0
jne 0x4a0c8a
mov edx, edi
mov eax, esi
sub edx, esi
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4a09e0
jmp 0x4a0c8a
push 0x5880c4
push edi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4a0c8a
mov ebx, dword [esp + 0x50]
push esi
mov byte [ebx], al
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x4a0bd2
test al, 0x20
je 0x4a0a34
mov edi, ebx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a0a22
mov cx, word [0x5880c0]
mov word [edi], cx
test ah, 8
je 0x4a0a52
mov edi, ebx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a0a40
mov dx, word [0x583d90]
mov word [edi], dx
test al, 0x40
je 0x4a0a72
mov edi, ebx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a0a60
mov cx, word [0x5880bc]
mov word [edi], cx
test al, 0x10
je 0x4a0a92
mov edi, ebx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a0a80
mov dx, word [0x583d6c]
mov word [edi], dx
test ah, 0x40
je 0x4a0ab2
mov edi, ebx
dec edi
lea ebx, [ebx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a0aa0
mov cx, word [0x584828]
mov word [edi], cx
test al, 2
je 0x4a0ad2
mov edi, ebx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a0ac0
mov dx, word [0x5880b8]
mov word [edi], dx
test al, al
jns 0x4a0af2
mov edi, ebx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a0ae0
mov cx, word [0x583d84]
mov word [edi], cx
test ah, 0x20
je 0x4a0b12
mov edi, ebx
dec edi
lea ebx, [ebx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a0b00
mov dx, word [0x583d44]
mov word [edi], dx
test ah, 0x10
je 0x4a0b32
mov edi, ebx
dec edi
lea ebx, [ebx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a0b20
mov cx, word [0x5880b4]
mov word [edi], cx
test al, 1
je 0x4a0b52
mov edi, ebx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a0b40
mov dx, word [0x5880b0]
mov word [edi], dx
test ah, 4
je 0x4a0b72
mov edi, ebx
dec edi
lea ebx, [ebx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a0b60
mov cx, word [0x583d78]
mov word [edi], cx
test ah, 2
je 0x4a0b92
mov edi, ebx
dec edi
lea ebx, [ebx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a0b80
mov dx, word [0x583da0]
mov word [edi], dx
test al, 4
je 0x4a0bb2
mov edi, ebx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a0ba0
mov cx, word [0x5848d0]
mov word [edi], cx
test ah, 1
je 0x4a0bd2
mov edi, ebx
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4a0bc0
mov dx, word [str.yrohva]
mov word [edi], dx
mov edx, dword [esp + 0x48]
mov eax, ebx
sub edx, ebx
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4a0be0
jmp 0x4a0c86
mov ebx, dword [esp + 0x48]
mov byte [ebx], 0
mov eax, dword [0x5aa608]
test eax, eax
jne 0x4a0c13
push 0x588024
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
mov dword [0x5aa608], eax
je 0x4a0c6d
push str.GetFileSizeEx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
test edi, edi
je 0x4a0c6d
push 0
push 0
push 3
push 0
push 0
push bind
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x4a0c6d
lea eax, [esp + 0x14]
push eax
push esi
call edi
test eax, eax
je 0x4a0c66
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
push edx
push str._I64Ld
push ebx
call fcn.00570677
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [ebx], 0
jne 0x4a0c86
mov eax, dword [esp + 0x30]
push eax
push 0x583940
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov ebx, dword [esp + 0x10]
pop esi
mov eax, dword [ebp + 8]
test eax, eax
jle 0x4a0cab
mov edx, dword [ebp + 0x40]
mov ecx, dword [ebx]
call fcn.004c7fe0
mov dword [ebx], eax
mov ecx, dword [ebp + 8]
dec ecx
mov eax, ecx
test eax, eax
mov dword [ebp + 8], ecx
jg 0x4a0c92
pop edi
mov dword [ebp + 8], 0
pop ebp
mov eax, 2
pop ebx
add esp, 0x30
ret 0x14