Function at 0x413f94
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
mov eax, 0x4a08fd
call fcn.00497a30
sub esp, 0xa34
push ebx
push esi
mov esi, ecx
add esi, 5
mov dword [ebp - 0x1c], esi
mov al, byte [esi]
cmp al, 0x20
je 0x413fb8
cmp al, 9
jne 0x413fbb
inc esi
jmp 0x413fae
mov ebx, dword [sym.imp.MSVCR71.dll_isdigit]
jmp 0x413fc4
inc esi
movsx eax, byte [esi]
push eax
call ebx
test eax, eax
pop ecx
jne 0x413fc3
mov al, byte [esi]
cmp al, 0x20
je 0x413fd9
cmp al, 9
jne 0x413fdc
inc esi
jmp 0x413fcf
lea eax, [ebp - 0x18]
push eax
push 0x4a5014
push dword [ebp - 0x1c]
xor ebx, ebx
mov dword [ebp - 0x18], ebx
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp dword [ebp - 0x18], ebx
je 0x414284
push esi
call sub.MSVCR71.dll_strlen
test eax, eax
pop ecx
je 0x414284
push esi
lea ecx, [ebp - 0x88]
call fcn.00483141
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x64]
push eax
mov dword [ebp - 4], ebx
push dword [edi + 0x84b8]
call fcn.00404e2d
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 2
call fcn.004833a3
xor bl, bl
lea eax, [ebp - 0x64]
mov byte [ebp - 0x13], bl
mov byte [ebp - 0x14], bl
call fcn.00412edf
test al, al
je 0x41405c
mov byte [ebp - 0x13], 1
jmp 0x41407e
lea eax, [ebp - 0x64]
call fcn.00404e17
test al, al
je 0x41406e
mov byte [ebp - 0x14], 1
jmp 0x41407e
lea eax, [ebp - 0x64]
push eax
call fcn.00404dfd
test al, al
pop ecx
je 0x41407e
mov bl, 1
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, 0x3e8
div ecx
push 0x64
pop ecx
mov eax, edx
xor edx, edx
div ecx
cmp eax, 4
mov dword [ebp - 0x18], eax
je 0x4140a4
cmp eax, 5
mov byte [ebp - 0x11], 0
jne 0x4140a8
mov byte [ebp - 0x11], 1
test eax, eax
je 0x4140b5
cmp eax, 1
mov byte [ebp - 0x12], 0
jne 0x4140b9
mov byte [ebp - 0x12], 1
test bl, bl
mov eax, dword [edi + 0x815c]
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0xa3c], 7
je 0x4140dd
mov dword [ebp - 0xa3c], 0xe
lea eax, [edi + 0x8449]
push eax
lea eax, [ebp - 0xa05]
push eax
call sub.MSVCR71.dll_strcpy
lea eax, [edi + 0x8e31]
push eax
lea eax, [ebp - 0xa37]
push eax
call sub.MSVCR71.dll_strcpy
mov eax, dword [ebp - 0x5c]
add esp, 0x10
cmp dword [ebp - 0x48], 0x10
jae 0x414112
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x9f0]
push eax
call sub.MSVCR71.dll_strcpy
mov eax, dword [edi + 0x8164]
mov dword [ebp - 0x9f4], eax
mov al, byte [0x4bb21b]
mov byte [ebp - 0xa38], al
mov eax, dword [0x4bb2cc]
test eax, eax
pop ecx
pop ecx
je 0x41414e
lea ecx, [ebp - 0xa3c]
push ecx
push eax
call fcn.0042b1c6
cmp byte [ebp - 0x12], 0
je 0x414164
cmp byte [edi + 0x8d28], 0
je 0x414164
mov byte [ebp - 0xa38], 0
cmp byte [ebp - 0xa38], 0
jne 0x414180
cmp dword [edi + 0x84c0], 0
jne 0x414180
mov ecx, 0x4b3
jmp 0x414234
cmp byte [ebp - 0x13], 0
jne 0x414252
test bl, bl
jne 0x414197
cmp byte [ebp - 0x14], bl
je 0x414252
mov esi, dword [edi + 0x84c0]
test esi, esi
je 0x4141b1
cmp byte [ebp - 0xa38], 0
jne 0x4141b1
mov bl, 1
call fcn.00456bca
cmp dword [ebp - 0x48], 0x10
mov eax, dword [ebp - 0x5c]
jae 0x4141bd
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x4141cf
mov byte [ebp - 0x11], 0
jmp 0x414205
cmp byte [ebp - 0x11], 0
je 0x4141da
or eax, 1
jmp 0x4141dd
and eax, 0xfffffffe
cmp byte [ebp - 0x12], 0
je 0x4141e8
or eax, 2
jmp 0x4141eb
and eax, 0xfffffffd
cmp dword [ebp - 0x48], 0x10
mov ecx, dword [ebp - 0x5c]
jae 0x4141f7
lea ecx, [ebp - 0x5c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
setne byte [ebp - 0x11]
mov esi, dword [edi + 0x84c0]
test esi, esi
je 0x414216
xor bl, bl
call fcn.00456bca
cmp byte [ebp - 0x11], 0
jne 0x41422f
cmp dword [ebp - 0x24], 0x10
mov eax, dword [ebp - 0x38]
jae 0x414228
lea eax, [ebp - 0x38]
mov ecx, 0x4b5
jmp 0x414263
mov ecx, 0x4b6
push 0xffffffffffffffff
call fcn.0040753b
push eax
mov ecx, edi
call fcn.0040e4b9
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x64]
push eax
call fcn.00403e9b
jmp 0x414298
cmp dword [ebp - 0x24], 0x10
mov eax, dword [ebp - 0x38]
jae 0x41425e
lea eax, [ebp - 0x38]
mov ecx, 0x4b4
push eax
push 0xffffffffffffffff
call fcn.0040753b
push eax
lea eax, [ebp - 0x1ec]
push eax
call dword [sym.imp.MSVCR71.dll_sprintf]
add esp, 0xc
lea eax, [ebp - 0x1ec]
jmp 0x41423b
push 0xffffffffffffffff
mov ecx, 0x4b2
call fcn.0040753b
push eax
mov ecx, edi
call fcn.0040e4b9
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret