Function at 0x424a60
Capabilities:
Get file attributes

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
push dword [0x5062c0]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 0x10
je 0x424d6f
mov dword [esp], 0
mov dword [esp + 4], 0
mov eax, dword [0x5052b0]
mov dword [esp + 8], eax
mov eax, esp
push eax
push dword [0x5062c0]
call dbg.ffPathExpandEnv
add esp, 8
test al, al
je 0x424acb
push dword [esp + 8]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 0x10
jne 0x424acb
mov eax, esp
push eax
push 0x5062b8
call dbg.ffStrbufSet
add esp, 8
jmp 0x424d4e
cmp dword [0x507670], 0
jle 0x424d4e
mov ebx, dword [0x507668]
nop
cmp dword [esp], 0
je 0x424b00
mov eax, dword [esp + 8]
mov byte [eax], 0
mov eax, dword [esp]
jmp 0x424b0b
mov eax, dword [0x5052b0]
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], 0
mov esi, dword [ebx + 4]
xor edi, edi
test esi, esi
je 0x424ba8
mov ebp, dword [ebx + 8]
test ebp, ebp
je 0x424ba8
mov ecx, eax
sub ecx, 1
jb 0x424b40
cmp ecx, esi
jb 0x424b40
xor ecx, ecx
mov eax, dword [esp + 8]
jmp 0x424b84
cmp eax, 2
mov ecx, eax
mov edx, 0x20
cmovb ecx, edx
lea edx, [esi + 1]
mov edi, ecx
add ecx, ecx
cmp edx, edi
ja 0x424b50
test eax, eax
je 0x424b6f
push edi
push dword [esp + 0xc]
call sym._realloc
add esp, 8
mov ecx, dword [esp + 4]
jmp 0x424b7d
push edi
call sym._malloc
add esp, 4
mov byte [eax], 0
xor ecx, ecx
mov dword [esp + 8], eax
mov dword [esp], edi
add ecx, eax
push esi
push ebp
push ecx
call sym._memcpy
add esp, 0xc
add esi, dword [esp + 4]
mov dword [esp + 4], esi
mov eax, dword [esp + 8]
mov byte [eax + esi], 0
mov eax, dword [esp]
mov edi, dword [esp + 4]
test eax, eax
je 0x424bb7
mov ecx, edi
not ecx
add ecx, eax
cmp ecx, 0x10
jae 0x424c00
cmp eax, 2
mov ecx, eax
mov edx, 0x20
cmovb ecx, edx
lea edx, [edi + 0x11]
nop word [eax + eax]
mov ebp, ecx
add ecx, ecx
cmp edx, ebp
ja 0x424bd0
test eax, eax
je 0x424c10
push ebp
push dword [esp + 0xc]
call sym._realloc
add esp, 8
mov esi, eax
mov dword [esp + 8], eax
mov edi, dword [esp + 4]
jmp 0x424c39
mov esi, dword [esp + 8]
jmp 0x424c3c
push ebp
call sym._malloc
add esp, 4
mov esi, eax
test edi, edi
je 0x424c32
lea eax, [edi + 1]
push eax
push dword [esp + 0xc]
push esi
call sym._memcpy
add esp, 0xc
jmp 0x424c35
mov byte [esi], 0
mov dword [esp + 8], esi
mov dword [esp], ebp
movups xmm0, xmmword [str.fastfetch_logos_]
movups xmmword [esi + edi], xmm0
lea eax, [edi + 0x10]
mov dword [esp + 4], eax
mov byte [esi + edi + 0x10], 0
mov edi, dword [0x5062bc]
test edi, edi
je 0x424d1c
mov edx, dword [0x5062c0]
test edx, edx
je 0x424d1c
mov eax, dword [esp]
mov ebp, dword [esp + 4]
test eax, eax
je 0x424c84
mov ecx, ebp
not ecx
add ecx, eax
cmp ecx, edi
jae 0x424cc3
mov dword [esp + 0xc], edx
cmp eax, 2
mov ecx, eax
mov edx, 0x20
cmovb ecx, edx
lea edx, [edi + ebp]
inc edx
nop dword [eax]
mov esi, ecx
add ecx, ecx
cmp edx, esi
ja 0x424ca0
test eax, eax
je 0x424cc9
push esi
push dword [esp + 0xc]
call sym._realloc
add esp, 8
mov dword [esp + 8], eax
mov ebp, dword [esp + 4]
jmp 0x424cf8
mov eax, dword [esp + 8]
jmp 0x424cff
push esi
call sym._malloc
add esp, 4
test ebp, ebp
je 0x424cf1
lea ecx, [ebp + 1]
push ecx
push dword [esp + 0xc]
push eax
mov dword [esp + 0x1c], eax
call sym._memcpy
mov eax, dword [esp + 0x1c]
add esp, 0xc
jmp 0x424cf4
mov byte [eax], 0
mov dword [esp + 8], eax
mov edx, dword [esp + 0xc]
mov dword [esp], esi
add ebp, eax
push edi
push edx
push ebp
call sym._memcpy
add esp, 0xc
add edi, dword [esp + 4]
mov dword [esp + 4], edi
mov eax, dword [esp + 8]
mov byte [eax + edi], 0
push dword [esp + 8]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 0x10
je 0x424ab6
add ebx, 0xc
mov eax, ebx
sub eax, dword [0x507668]
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, dword [0x507670]
jl 0x424ae0
cmp dword [esp], 0
mov dword [esp + 4], 0
je 0x424d6f
mov dword [esp], 0
push dword [esp + 8]
call sym._free
add esp, 4
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret