Function at 0x42b7d0
Capabilities:
Check if file exists
Get file attributes
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x434
push ebx
push esi
push edi
mov edi, eax
mov eax, dword [edi + 0xadc]
xor ebx, ebx
mov byte [edi + 0x250], 1
mov word [edi + 0xaf4], bx
cmp eax, ebx
je 0x42bae3
cmp word [eax], bx
je 0x42bae3
cmp byte [0x4e8013], bl
jne 0x42b861
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x42b861
cmp dword [0x4e7ebc], ebx
jne 0x42b861
mov eax, dword [edi + 0xadc]
push eax
push str.Script_file_not_found:_n_s
mov esi, 0x204
lea edi, [esp + 0x40]
call fcn.0049e5c0
fldz
add esp, 8
push ebx
sub esp, 8
fstp qword [esp]
push ebx
mov ecx, edi
push 0x10
push ecx
call fcn.004a4470
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x4e982c], ebx
jne 0x42b877
call fcn.0049b650
mov dword [0x4e982c], eax
cmp eax, ebx
je 0x42b8c3
mov ecx, dword [0x4e9830]
cmp dword [ecx + 8], 0x14
jae 0x42b895
call fcn.0049b650
mov ecx, dword [0x4e9830]
mov dword [ecx + 0xc], eax
cmp eax, ebx
je 0x42b8c3
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xffffffec
lea edx, [eax + 0x14]
mov dword [0x4e9834], eax
mov dword [ecx + 4], edx
cmp eax, ebx
je 0x42b8c3
mov dword [eax], vtable.Label.0
mov dword [eax + 4], 0x4bd2c4
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
jmp 0x42b8c5
xor eax, eax
mov dword [edi + 0x64c], eax
cmp eax, ebx
je 0x42bae3
mov eax, 0x4d4acc
cmp byte [0x4e8013], bl
jne 0x42b8e6
mov eax, dword [edi + 0xadc]
push ebx
push ebx
push eax
mov ecx, edi
call fcn.0042e2b0
cmp eax, 1
jne 0x42bae3
push ebx
push ebx
push ebx
push 0x68
push edi
call fcn.00434ec0
test eax, eax
je 0x42bae3
mov eax, dword [edi + 0x60c]
mov ebx, edi
call fcn.0043df50
test eax, eax
je 0x42bae3
mov eax, dword [edi + 0x60c]
mov esi, edi
call fcn.0043e040
cmp dword [edi + 0x614], 0
je 0x42b961
mov ecx, dword [edi + 0x60c]
mov eax, dword [edi + 0x618]
mov dword [eax + 0x14], ecx
mov edx, dword [edi + 0x60c]
mov eax, dword [edi + 0x618]
mov dword [edx + 0x10], eax
mov ecx, dword [edi + 0x614]
mov dword [edi + 0x60c], ecx
xor eax, eax
mov dword [esp + 0x30], eax
cmp dword [edi + 0x628], eax
jle 0x42b9ca
nop
mov edx, dword [edi + 0x624]
mov ebx, dword [edx + eax*4]
cmp byte [ebx + 0x51], 0
jne 0x42b9bd
test byte [ebx + 0x50], 4
jne 0x42b9bd
mov eax, dword [ebx + 0x20]
push ebx
lea esi, [ebx + 0x34]
push edi
call fcn.0044a5c0
mov eax, dword [ebx + 0x28]
push ebx
lea esi, [ebx + 0x40]
push edi
call fcn.0044a5c0
mov eax, dword [ebx + 0x24]
push ebx
lea esi, [ebx + 0x3c]
push edi
call fcn.0044a5c0
mov eax, dword [ebx + 0x2c]
push ebx
lea esi, [ebx + 0x48]
push edi
call fcn.0044a5c0
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, dword [edi + 0x628]
jl 0x42b970
cmp dword [edi + 0x23c], 0
je 0x42b9fa
mov ebx, edi
call fcn.0043a0e0
test eax, eax
je 0x42bae3
mov eax, dword [edi + 0x23c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [edi + 0x23c], 0
cmp dword [0x4e803c], 0
je 0x42ba09
push edi
call fcn.0044a670
mov ecx, dword [edi + 0xaf8]
test ecx, ecx
je 0x42ba24
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4e86f4]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
inc dword [edi + 0x24c]
push 0
push 0
push 0
push 0x68
push edi
call fcn.00434ec0
test eax, eax
je 0x42bae3
push 0
push 0
push 0
push 0x68
push edi
call fcn.00434ec0
test eax, eax
je 0x42bae3
mov ecx, dword [edi + 0x64c]
mov edx, dword [edi + 0x610]
push 0
push 0
mov dword [ecx + 8], edx
mov eax, dword [edi + 0x60c]
push 0
push eax
mov ecx, edi
call fcn.0043e0b0
test eax, eax
je 0x42bae3
mov eax, dword [edi + 0x60c]
push edi
call fcn.0043e3d0
test eax, eax
je 0x42bae3
push 3
push 0
push str.ErrorLevel
mov ecx, edi
call fcn.0043d150
mov dword [0x4e86f0], eax
test eax, eax
je 0x42bae3
push 1
push 0
push 0xffffffffffffffff
push 0x4bbb9c
push eax
call fcn.004a2810
lea ecx, [esp + 0x30]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov eax, dword [esp + 0x30]
call fcn.004263b0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret