Function at 0x408939
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x108], edi
cmp dword [0x413230], edi
je 0x40895a
cmp dword [ebp + 8], edi
je 0x408966
mov dword [ebp - 0x110], 1
jmp 0x408970
mov dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x110]
mov dword [0x41328c], eax
mov dword [0x41fc1c], 0
mov dword [0x41fc20], 0
lea ecx, [0x41fac8]
or eax, 0xffffffff
inc eax
cmp byte [ecx + eax], 0
jne 0x408998
mov dword [0x41fc24], eax
cmp dword [ebp + 8], 0
je 0x408a42
lea edi, [0x41fac7]
jmp 0x4089be
cmp byte [edi], 0x5c
jne 0x4089be
mov byte [edi], 0x2f
mov eax, edi
inc eax
mov edi, eax
cmp byte [eax], 0
jne 0x4089b6
lea edi, [0x41fac8]
cmp byte [0x41fac8], 0x2f
jne 0x4089f2
mov dword [0x41fc20], 1
mov byte [ebp - 0x104], 0x2f
mov byte [ebp - 0x103], 0
inc edi
jmp 0x408a42
movzx eax, byte [0x41fac8]
test byte [eax + str.________________________________H], 3
je 0x408a42
cmp byte [0x41fac9], 0x3a
jne 0x408a42
mov dword [0x41fc20], 1
lea esi, [ebp - 0x104]
mov eax, esi
inc esi
mov edx, edi
inc edi
mov dl, byte [edx]
mov byte [eax], dl
mov eax, esi
inc esi
mov edx, edi
inc edi
mov dl, byte [edx]
mov byte [eax], dl
cmp byte [edi], 0x2f
jne 0x408a3f
mov eax, esi
inc esi
mov edx, edi
inc edi
mov dl, byte [edx]
mov byte [eax], dl
mov byte [esi], 0
push 1
lea eax, [ebp - 0x104]
push eax
call fcn.00408f0d
add esp, 8
mov dword [ebp - 0x10c], eax
or eax, eax
jne 0x408cf4
mov byte [ebp - 0x104], 0
lea esi, [ebp - 0x104]
cmp dword [ebp + 8], 0
jne 0x408b88
cmp dword [0x413238], 0
je 0x408a92
push 0x2f
push 0x41fac8
call sub.CRTDLL.DLL_strrchr
add esp, 8
mov edi, eax
or edi, edi
jne 0x408aa1
lea edi, [0x41fac8]
jmp 0x408b88
inc edi
jmp 0x408b88
mov dword [ebp - 0x114], ebx
mov eax, ebx
cmp eax, 0x2f
je 0x408aff
jg 0x408ad9
mov eax, ebx
cmp eax, 0x20
je 0x408b4a
cmp eax, 0x22
je 0x408b34
cmp eax, 0x20
jl 0x408b72
cmp ebx, 0x2a
je 0x408b34
jmp 0x408b72
mov edx, dword [ebp - 0x114]
cmp edx, 0x3a
jl 0x408b72
cmp edx, 0x3f
jg 0x408af4
jmp dword [edx*4 + 0x42127c]
cmp dword [ebp - 0x114], 0x7c
je 0x408b34
jmp 0x408b72
mov byte [esi], 0
push 2
lea eax, [ebp - 0x104]
push eax
call fcn.00408f0d
add esp, 8
mov dword [ebp - 0x10c], eax
cmp eax, 1
jg 0x408cf4
lea esi, [ebp - 0x104]
mov dword [ebp - 0x108], 0
jmp 0x408b88
mov eax, esi
inc esi
mov byte [eax], 0x5f
jmp 0x408b88
cmp dword [0x413250], 0
jne 0x408b62
push 0x41fac8
call fcn.004088ec
pop ecx
or eax, eax
je 0x408b6a
mov eax, esi
inc esi
mov byte [eax], 0x5f
jmp 0x408b88
mov eax, esi
inc esi
mov byte [eax], 0x20
jmp 0x408b88
test byte [ebx + str.________________________________H], 0x57
jne 0x408b81
cmp ebx, 0x7f
jb 0x408b88
mov eax, esi
inc esi
mov edx, ebx
mov byte [eax], dl
mov eax, edi
inc edi
movzx eax, byte [eax]
mov ebx, eax
or eax, eax
jne 0x408aa7
mov byte [esi], 0
cmp dword [0x413268], 0
jne 0x408bd4
cmp dword [ebp - 0x108], 0
je 0x408bd4
mov eax, dword [ebp - 0x108]
mov esi, eax
inc esi
jmp 0x408bb9
inc esi
movzx eax, byte [esi]
test byte [eax + str.________________________________H], 4
jne 0x408bb8
cmp byte [esi], 0
jne 0x408bd4
mov eax, dword [ebp - 0x108]
mov byte [eax], 0
mov eax, dword [0x41fc24]
cmp byte [eax + 0x41fac7], 0x2f
jne 0x408c6b
push 4
push 0x41fac8
call fcn.00408f0d
add esp, 8
cmp dword [0x41fc1c], 0
je 0x408c61
cmp dword [0x41324c], 0
jne 0x408c08
mov eax, dword [0x4139c4]
test byte [eax + 0x14], 0x6f
je 0x408c28
mov eax, dword [eax + 0x14]
and eax, 0x7f
push eax
push 0x41fac8
call sub.KERNEL32.DLL_SetFileAttributesA
or eax, eax
jne 0x408c28
cmp dword [0x41fa04], 0
je 0x408c57
movzx eax, word [0x41fa26]
push eax
push dword [0x41fa04]
push 0x41fac8
call fcn.00407fdb
add esp, 0xc
mov dword [ebp - 0x114], eax
cmp eax, 0x4f
jne 0x408c57
mov eax, 0x4d
jmp 0x408cf4
mov eax, 2
jmp 0x408cf4
cmp byte [ebp - 0x104], 0
jne 0x408c7b
mov eax, 3
jmp 0x408cf4
push 3
lea eax, [ebp - 0x104]
push eax
call fcn.00408f0d
push 4
push 0x41fac8
call fcn.00408f0d
add esp, 0x10
mov eax, dword [0x4139c4]
test byte [eax + 0x18], 0x20
je 0x408cee
mov eax, dword [0x41fc28]
add eax, 0x60
mov byte [ebp - 0x114], al
push 0x421385
lea eax, [ebp - 0x113]
push eax
call fcn.00411ab4
cmp dword [0x41324c], 0
jne 0x408ccb
push 0x41fac8
lea eax, [ebp - 0x114]
push eax
call sub.KERNEL32.DLL_SetVolumeLabelA
or eax, eax
jne 0x408ce7
mov eax, 3
jmp 0x408cf4
mov eax, 2
jmp 0x408cf4
mov eax, dword [ebp - 0x10c]
pop edi
pop esi
pop ebx
leave
ret