Function at 0x406630
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.00402170
push 0
lea ecx, [ebp - 0x1c]
call fcn.00404ec0
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 0x40667c
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp + 8]
movzx ecx, word [eax + edx*2 - 2]
cmp ecx, 0x2f
jne 0x406692
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 0x40676e
mov edx, dword [ebp - 4]
push edx
call fcn.004055e0
add esp, 4
test eax, eax
je 0x4066ba
jmp 0x40676e
jmp 0x4066c5
mov eax, dword [ebp - 0x10]
sub eax, 1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jle 0x4066eb
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
movzx eax, word [edx + ecx*2]
cmp eax, 0x2f
je 0x4066eb
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
movzx eax, word [edx + ecx*2]
cmp eax, 0x5c
je 0x4066eb
jmp 0x4066bc
cmp dword [ebp - 0x10], 0
jne 0x40675d
cmp dword [ebp - 0x20], 2
jne 0x406736
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
or edx, 0x20
cmp edx, 0x61
jl 0x406736
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
or ecx, 0x20
cmp ecx, 0x7a
jg 0x406736
mov edx, dword [ebp + 8]
movzx eax, word [edx + 2]
cmp eax, 0x3a
jne 0x406736
mov dword [ebp - 0x24], 1
lea ecx, [ebp - 0x1c]
call fcn.00401240
mov eax, dword [ebp - 0x24]
jmp 0x4068c0
mov ecx, dword [ebp + 8]
push ecx
push 0xc
push 1
call fcn.0040f2d0
add esp, 0xc
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x1c]
call fcn.00401240
mov eax, dword [ebp - 0x28]
jmp 0x4068c0
xor edx, edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
mov word [ecx + eax*2], dx
jmp 0x406698
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 0x4067b2
lea ecx, [ebp - 0xc]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00405540
add esp, 8
test eax, eax
je 0x4067b2
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x1c]
call fcn.00401240
mov eax, dword [ebp - 0x2c]
jmp 0x4068c0
mov eax, dword [ebp - 4]
push eax
call fcn.004055e0
add esp, 4
test eax, eax
jne 0x4067e9
mov ecx, dword [ebp - 4]
push ecx
push 0xc
push 1
call fcn.0040f2d0
add esp, 0xc
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x1c]
call fcn.00401240
mov eax, dword [ebp - 0x30]
jmp 0x4068c0
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x20]
jge 0x4068ae
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 fcn.004270d0
add esp, 0xc
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
movzx eax, word [edx + ecx*2]
test eax, eax
je 0x406832
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 0x406869
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
movzx ecx, word [eax + edx*2]
cmp ecx, 0x5c
je 0x406869
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
movzx ecx, word [eax + edx*2]
cmp ecx, 0x2f
je 0x406869
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
jmp 0x406832
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.004055e0
add esp, 4
test eax, eax
jne 0x4068a9
mov ecx, dword [ebp - 4]
push ecx
push 0xc
push 1
call fcn.0040f2d0
add esp, 0xc
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 0x1c]
call fcn.00401240
mov eax, dword [ebp - 0x34]
jmp 0x4068c0
jmp 0x4067e9
mov dword [ebp - 0x38], 1
lea ecx, [ebp - 0x1c]
call fcn.00401240
mov eax, dword [ebp - 0x38]
mov esp, ebp
pop ebp
ret