Function at 0x404c20
Capabilities:
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004016a0
push 0
lea ecx, [ebp - 0x1c]
call fcn.004035a0
mov dword [ebp - 4], eax
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp + 8]
movzx ecx, word [eax + edx*2 - 2]
cmp ecx, 0x5c
je 0x404c6c
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp + 8]
movzx ecx, word [eax + edx*2 - 2]
cmp ecx, 0x2f
jne 0x404c82
xor edx, edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 4]
mov word [ecx + eax*2 - 2], dx
mov edx, dword [ebp - 0x20]
sub edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
mov ecx, 1
test ecx, ecx
je 0x404d5e
mov edx, dword [ebp - 4]
push edx
call fcn.00403d10
add esp, 4
test eax, eax
je 0x404caa
jmp 0x404d5e
jmp 0x404cb5
mov eax, dword [ebp - 0x10]
sub eax, 1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jle 0x404cdb
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
movzx eax, word [edx + ecx*2]
cmp eax, 0x2f
je 0x404cdb
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
movzx eax, word [edx + ecx*2]
cmp eax, 0x5c
je 0x404cdb
jmp 0x404cac
cmp dword [ebp - 0x10], 0
jne 0x404d4d
cmp dword [ebp - 0x20], 2
jne 0x404d26
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
or edx, 0x20
cmp edx, 0x61
jl 0x404d26
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
or ecx, 0x20
cmp ecx, 0x7a
jg 0x404d26
mov edx, dword [ebp + 8]
movzx eax, word [edx + 2]
cmp eax, 0x3a
jne 0x404d26
mov dword [ebp - 0x24], 1
lea ecx, [ebp - 0x1c]
call fcn.00414ca0
mov eax, dword [ebp - 0x24]
jmp 0x404eb0
mov ecx, dword [ebp + 8]
push ecx
push 0xc
push 1
call fcn.0040b2d0
add esp, 0xc
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x1c]
call fcn.00414ca0
mov eax, dword [ebp - 0x28]
jmp 0x404eb0
xor edx, edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
mov word [ecx + eax*2], dx
jmp 0x404c88
lea edx, [ebp - 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
and eax, 0x10
jne 0x404da2
lea ecx, [ebp - 0xc]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00403c70
add esp, 8
test eax, eax
je 0x404da2
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x1c]
call fcn.00414ca0
mov eax, dword [ebp - 0x2c]
jmp 0x404eb0
mov eax, dword [ebp - 4]
push eax
call fcn.00403d10
add esp, 4
test eax, eax
jne 0x404dd9
mov ecx, dword [ebp - 4]
push ecx
push 0xc
push 1
call fcn.0040b2d0
add esp, 0xc
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x1c]
call fcn.00414ca0
mov eax, dword [ebp - 0x30]
jmp 0x404eb0
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x20]
jge 0x404e9e
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x10]
add eax, 1
push eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
lea eax, [edx + ecx*2]
push eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
lea eax, [edx + ecx*2]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
movzx eax, word [edx + ecx*2]
test eax, eax
je 0x404e22
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
movzx ecx, word [eax + edx*2]
test ecx, ecx
je 0x404e59
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
movzx ecx, word [eax + edx*2]
cmp ecx, 0x5c
je 0x404e59
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
movzx ecx, word [eax + edx*2]
cmp ecx, 0x2f
je 0x404e59
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
jmp 0x404e22
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
mov word [edx + ecx*2], ax
mov eax, dword [ebp - 4]
push eax
call fcn.00403d10
add esp, 4
test eax, eax
jne 0x404e99
mov ecx, dword [ebp - 4]
push ecx
push 0xc
push 1
call fcn.0040b2d0
add esp, 0xc
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 0x1c]
call fcn.00414ca0
mov eax, dword [ebp - 0x34]
jmp 0x404eb0
jmp 0x404dd9
mov dword [ebp - 0x38], 1
lea ecx, [ebp - 0x1c]
call fcn.00414ca0
mov eax, dword [ebp - 0x38]
mov esp, ebp
pop ebp
ret