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

Disassembly:
sub esp, 0x224
push ebx
push esi
mov esi, dword [esp + 0x230]
push edi
push ebp
test esi, esi
je 0x4bde64
mov eax, dword [esi + 0xac]
test eax, eax
je 0x4bde64
mov eax, dword [eax + 0x2c]
jmp 0x4bde66
xor eax, eax
mov edx, dword [esp + 0x23c]
push edx
push eax
call fcn.004ae780
add esp, 8
mov ebp, eax
test ebp, ebp
jne 0x4bde8a
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x224
ret
test esi, esi
je 0x4bde9d
mov eax, dword [esi + 0xac]
test eax, eax
je 0x4bde9d
mov eax, dword [eax + 0x2c]
jmp 0x4bde9f
xor eax, eax
mov edx, dword [esp + 0x23c]
push 0
lea ecx, [esp + 0x18]
push edx
push ecx
push eax
push esi
call fcn.004aec90
add esp, 0x14
test ax, ax
je 0x4bdecd
mov eax, 0xfffffffe
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x224
ret
test byte [esp + 0x20], 1
je 0x4bdeef
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov cl, byte [eax + edx]
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x4bdf46
inc dword [esp + 0x18]
jmp 0x4bdf46
test byte [esp + 0x20], 2
je 0x4bdf1e
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp word [eax + ecx], 0
je 0x4bdf14
add dword [esp + 0x18], 2
mov dword [esp + 0x10], 2
jmp 0x4bdf46
mov dword [esp + 0x10], 0
jmp 0x4bdf46
test esi, esi
je 0x4bdf31
mov eax, dword [esi + 0xac]
test eax, eax
je 0x4bdf31
mov ecx, dword [eax + 0x2c]
jmp 0x4bdf33
xor ecx, ecx
lea eax, [esp + 0x10]
lea edx, [esp + 0x14]
push eax
push edx
push ecx
call fcn.004ae200
add esp, 0xc
test byte [esp + 0x20], 1
je 0x4bdf68
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov cl, byte [eax + edx]
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x4bdfbf
inc dword [esp + 0x18]
jmp 0x4bdfbf
test byte [esp + 0x20], 2
je 0x4bdf97
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp word [eax + ecx], 0
je 0x4bdf8d
add dword [esp + 0x18], 2
mov dword [esp + 0x24], 2
jmp 0x4bdfbf
mov dword [esp + 0x24], 0
jmp 0x4bdfbf
test esi, esi
je 0x4bdfaa
mov eax, dword [esi + 0xac]
test eax, eax
je 0x4bdfaa
mov ecx, dword [eax + 0x2c]
jmp 0x4bdfac
xor ecx, ecx
lea eax, [esp + 0x24]
lea edx, [esp + 0x14]
push eax
push edx
push ecx
call fcn.004ae200
add esp, 0xc
test byte [esp + 0x20], 1
je 0x4bdfd9
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov cl, byte [eax + edx]
mov dword [esp + 0x28], ecx
jmp 0x4be02b
test byte [esp + 0x20], 2
je 0x4be003
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cmp word [ecx + eax], 0
je 0x4bdff9
mov dword [esp + 0x28], 2
jmp 0x4be02b
mov dword [esp + 0x28], 0
jmp 0x4be02b
test esi, esi
je 0x4be016
mov eax, dword [esi + 0xac]
test eax, eax
je 0x4be016
mov ecx, dword [eax + 0x2c]
jmp 0x4be018
xor ecx, ecx
lea eax, [esp + 0x28]
lea edx, [esp + 0x14]
push eax
push edx
push ecx
call fcn.004ae200
add esp, 0xc
cmp ebp, 2
jne 0x4be047
cmp dword [esp + 0x24], 0x3a
jne 0x4be047
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x224
ret
cmp ebp, 3
jne 0x4be06a
cmp dword [esp + 0x24], 0x3a
jne 0x4be06a
cmp dword [esp + 0x28], 0x2f
jne 0x4be06a
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x224
ret
and word [esp + 0x20], 0xffdf
xor ebx, ebx
test ebp, ebp
mov dword [esp + 0x18], ebx
jle 0x4be0f4
mov edi, ebp
test byte [esp + 0x20], 1
je 0x4be09f
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
xor eax, eax
mov al, byte [ecx + edx]
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x4be0f1
inc dword [esp + 0x18]
jmp 0x4be0f1
test byte [esp + 0x20], 2
je 0x4be0c9
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp word [eax + ecx], bx
je 0x4be0c3
add dword [esp + 0x18], 2
mov dword [esp + 0x10], 2
jmp 0x4be0f1
mov dword [esp + 0x10], ebx
jmp 0x4be0f1
test esi, esi
je 0x4be0dc
mov eax, dword [esi + 0xac]
test eax, eax
je 0x4be0dc
mov ecx, dword [eax + 0x2c]
jmp 0x4be0de
xor ecx, ecx
lea eax, [esp + 0x10]
lea edx, [esp + 0x14]
push eax
push edx
push ecx
call fcn.004ae200
add esp, 0xc
dec edi
jne 0x4be07d
cmp dword [esp + 0x10], 0x2f
jne 0x4be150
cmp ebp, 1
jne 0x4be110
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x224
ret
test esi, esi
je 0x4be123
mov eax, dword [esi + 0xac]
test eax, eax
je 0x4be123
mov ecx, dword [eax + 0x2c]
jmp 0x4be125
xor ecx, ecx
dec ebp
mov edx, dword [esp + 0x23c]
lea eax, [esp + 0x2c]
push ebp
push edx
push eax
push ecx
call fcn.004ae860
lea edx, [esp + 0x3c]
add esp, 0x10
movsx ecx, ax
mov dword [esp + 0x23c], edx
mov byte [esp + ecx + 0x2c], 0
lea ecx, [esp + 0x14]
xor eax, eax
lea edx, [esp + 0x130]
mov dword [ecx], eax
push edx
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x240]
push ecx
push esi
call fcn.004b92b0
lea ecx, [esp + 0x13c]
add esp, 0xc
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x4be19a
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x224
ret
and eax, 0x10
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x224
ret