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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
cmp byte [0x563f6c], 0
push ebx
push esi
push edi
jne 0x4bae98
call fcn.004bac00
mov ecx, dword [0x563f6d]
call fcn.004c5e70
mov esi, 0x563f71
mov ecx, dword [esi]
call fcn.004c5e70
add esi, 4
cmp esi, 0x563fad
jl 0x4baea8
inc dword [0x563fb7]
mov eax, dword [0x563fbb]
test eax, eax
jle 0x4baed3
sub eax, 8
mov dword [0x563fbb], eax
test eax, eax
jns 0x4baedd
add eax, 8
mov dword [0x563fbb], eax
mov ecx, dword [0x563fb3]
test eax, eax
jne 0x4bb029
test byte [0x563c60], 1
je 0x4baf8c
cmp ecx, 0xf
jge 0x4baf8c
mov ecx, dword [0x564640]
cmp dword [ecx + 4], eax
cmove ecx, dword [0x564084]
call fcn.00492480
mov eax, dword [0x563fb3]
push 1
mov ecx, dword [eax*4 + 0x563f6d]
mov edx, dword [ecx + 0x44]
mov word [ecx + 0x50], 0
mov dword [ecx + 0x54], 0
call fcn.004c5a40
mov eax, dword [0x563fb3]
add esp, 4
inc eax
mov dword [0x563fb3], eax
push 1
mov ecx, dword [eax*4 + 0x563f6d]
mov edx, dword [ecx + 0x44]
mov word [ecx + 0x50], 0x101
mov dword [ecx + 0x54], 0
call fcn.004c5a40
mov ecx, dword [0x563fb3]
add esp, 4
mov edx, dword [0x563faf]
lea eax, [ecx - 3]
cmp eax, edx
jl 0x4baf8c
inc edx
mov dword [0x563fbb], 0xffffffc0
mov dword [0x563faf], edx
test byte [0x563c60], 8
je 0x4bb029
cmp ecx, 1
jle 0x4bb029
mov ecx, dword [0x564640]
cmp dword [ecx + 4], 0
cmove ecx, dword [0x564084]
call fcn.00492480
mov eax, dword [0x563fb3]
push 1
mov ecx, dword [eax*4 + 0x563f6d]
mov edx, dword [ecx + 0x44]
mov word [ecx + 0x50], 0
mov dword [ecx + 0x54], 0
call fcn.004c5a40
mov eax, dword [0x563fb3]
add esp, 4
dec eax
mov dword [0x563fb3], eax
push 1
mov ecx, dword [eax*4 + 0x563f6d]
mov edx, dword [ecx + 0x44]
mov word [ecx + 0x50], 0x101
mov dword [ecx + 0x54], 0
call fcn.004c5a40
mov ecx, dword [0x563fb3]
add esp, 4
mov eax, dword [0x563faf]
cmp ecx, eax
jge 0x4bb029
dec eax
mov dword [0x563fbb], 0x40
mov dword [0x563faf], eax
test byte [0x563c5c], 0x10
mov ebx, 1
je 0x4bb1df
cmp byte [0x563fad], 0
je 0x4bb0bf
mov ecx, dword [0x564644]
cmp dword [ecx + 4], 0
cmove ecx, dword [0x564088]
call fcn.00492480
mov ecx, dword [0x563fb3]
lea edx, [esp + 0xc]
inc dword [0x564680]
mov dword [0x564684], ecx
mov dword [esp + 0xc], 0
call fcn.0048faa0
mov esi, dword [esp + 0xc]
mov ecx, esi
call fcn.0048f710
test esi, esi
je 0x4bb0a7
mov eax, dword [esi - 8]
lea ecx, [esi - 8]
cmp eax, 0xffffffff
je 0x4bb0a7
dec eax
mov dword [ecx], eax
test eax, eax
jg 0x4bb0a7
push ecx
call fcn.00501c9e
add esp, 4
call fcn.004badf0
cmp byte [0x563fae], 0
setne byte [0x5645b0]
jmp 0x4bb1df
mov eax, dword [ecx*4 + 0x563f6d]
movsd xmm0, qword [eax + 0x89]
comisd xmm0, xmmword [0x545478]
jbe 0x4bb1c9
mov ecx, dword [0x564644]
cmp dword [ecx + 4], 0
cmove ecx, dword [0x564088]
call fcn.00492480
mov ecx, 0x320
call fcn.00492360
call fcn.004badf0
mov esi, 0x30
call fcn.00469420
dec esi
test esi, esi
jg 0x4bb106
call fcn.00494ff0
mov byte [0x56460d], bl
mov esi, 0x10
call fcn.00469420
dec esi
test esi, esi
jg 0x4bb120
mov ecx, dword [0x563fb3]
lea edx, [esp + 0xc]
mov dword [esp + 0xc], 0
mov byte [0x56388c], 0
call fcn.0048faa0
mov esi, dword [esp + 0xc]
test esi, esi
je 0x4bb182
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x4bb167
test al, 0x10
jne 0x4bb167
mov ecx, esi
call fcn.0048f530
mov eax, dword [esi - 8]
add esi, 0xfffffff8
cmp eax, 0xffffffff
je 0x4bb182
dec eax
mov dword [esi], eax
test eax, eax
jg 0x4bb182
push esi
call fcn.00501c9e
add esp, 4
mov eax, dword [0x564610]
mov edx, ebx
mov byte [0x5645b0], 0
mov dword [eax + 8], 0
mov ecx, dword [0x564610]
call fcn.00492040
mov eax, dword [0x5603c4]
xor esi, esi
mov eax, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
test edi, edi
jle 0x4bb1c2
mov ecx, dword [ebx + esi*4]
call fcn.00459340
inc esi
cmp esi, edi
jl 0x4bb1b5
mov ebx, 1
jmp 0x4bb1df
mov ecx, dword [0x56464c]
cmp dword [ecx + 4], 0
cmove ecx, dword [0x564090]
call fcn.00492480
test byte [0x563c5c], 0x20
je 0x4bb236
mov ecx, dword [0x564648]
cmp dword [ecx + 4], 0
cmove ecx, dword [0x56408c]
call fcn.00492480
call fcn.004badf0
mov cl, byte [0x563fae]
xor eax, eax
cmp byte [0x563fad], al
jne 0x4bb22c
xor edx, edx
mov eax, 6
cmp cl, 2
cmove eax, edx
mov byte [0x5645b0], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test cl, cl
cmovne eax, ebx
mov byte [0x5645b0], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret