Function at 0x1002a51
Capabilities:
Get file attributes
Read .ini file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x620
mov eax, dword [0x100c2c4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
push ebx
push esi
push edi
push eax
mov dword [ebp - 0x61c], eax
mov esi, 0x104
mov dword [ebp - 0x620], ecx
mov ecx, dword [ebp + 0x14]
push esi
lea eax, [ebp - 0x20c]
push eax
mov dword [ebp - 0x618], ecx
call fcn.01001ede
cmp byte [ebp - 0x20c], 0x22
jne 0x1002aad
lea eax, [ebp - 0x20b]
push 0x10013bc
jmp 0x1002ab8
lea eax, [ebp - 0x20c]
push 0x10013b8
mov dword [ebp - 0x610], eax
lea eax, [ebp - 0x610]
push eax
call fcn.01001aa2
mov ebx, dword [ebp - 0x610]
push ebx
mov dword [ebp - 0x614], eax
call fcn.01001c14
test eax, eax
lea eax, [ebp - 0x108]
jne 0x1002b02
push 0x100d2a4
push esi
push eax
call fcn.01001ede
push ebx
push esi
lea eax, [ebp - 0x108]
push eax
call fcn.01007460
jmp 0x1002b0a
push ebx
push esi
push eax
call fcn.01001ede
push 0x2e
push ebx
call fcn.010074e3
mov esi, dword [sym.imp.KERNEL32.dll_CompareStringA]
or edi, 0xffffffff
test eax, eax
je 0x1002ce5
push edi
push 0x10013b0
push edi
push eax
push 1
push 0x7f
call esi
dec eax
dec eax
jne 0x1002ce5
lea eax, [ebp - 0x108]
push eax
call fcn.010074bb
test eax, eax
jne 0x1002b66
push eax
push 0x10
push eax
lea ecx, [ebp - 0x108]
push ecx
push 0x525
push eax
call fcn.010037d6
xor eax, eax
jmp 0x1002e0e
mov eax, dword [ebp - 0x614]
mov dword [ebp - 0x610], eax
push 0x10013ac
lea eax, [ebp - 0x610]
push eax
call fcn.01001aa2
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, 0x100c0a4
push ebx
mov edi, eax
call esi
test edi, edi
je 0x1002bc3
cmp byte [edi], 0
je 0x1002ba2
mov dword [ebp - 0x610], edi
push 0x10013a8
lea eax, [ebp - 0x610]
push eax
call fcn.01001aa2
mov edi, dword [ebp - 0x610]
cmp byte [edi], 0
je 0x1002bc9
push edi
call esi
jmp 0x1002bc9
mov edi, dword [ebp - 0x610]
mov esi, 0x200
push esi
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
xor ecx, ecx
cmp eax, ecx
mov dword [ebp - 0x610], eax
jne 0x1002bf3
push ecx
push 0x10
push ecx
push ecx
push 0x4b5
push ecx
jmp 0x1002b5a
cmp byte [edi], cl
mov eax, edi
jne 0x1002bfb
mov eax, ebx
lea edx, [ebp - 0x108]
push edx
push ecx
push 0x10013a0
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x100d0c8], eax
mov eax, dword [ebp - 0x618]
mov dword [eax], 1
lea eax, [ebp - 0x108]
push eax
push 8
push dword [ebp - 0x610]
push 0x10012e1
push 0x1001394
push 0x100138c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jbe 0x1002c7d
or dword [0x100daf4], 4
cmp byte [edi], 0
jne 0x1002c56
mov edi, ebx
push edi
push dword [ebp + 0xc]
push dword [ebp - 0x61c]
call fcn.01001ede
lea eax, [ebp - 0x108]
push eax
push esi
push dword [ebp - 0x610]
call fcn.01001ede
jmp 0x1002dfd
and dword [0x100daf4], 0xfffffffb
cmp word [0x100d0cc], 0
jne 0x1002cad
push 0x104
lea eax, [ebp - 0x108]
push eax
push eax
mov dword [ebp - 0x614], 0x1001380
call dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
jmp 0x1002cb7
mov dword [ebp - 0x614], 0x1001370
cmp byte [edi], 0
jne 0x1002cbe
mov edi, ebx
lea eax, [ebp - 0x108]
push eax
push edi
push dword [ebp - 0x614]
push 0x100c014
push esi
push dword [ebp - 0x610]
call fcn.01001f59
add esp, 0x18
jmp 0x1002dfd
push 0x2e
push ebx
call fcn.010074e3
xor ebx, ebx
cmp eax, ebx
je 0x1002d66
push edi
push 0x1001368
push edi
push eax
push 1
push 0x7f
call esi
dec eax
dec eax
jne 0x1002d66
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, str.Command.com__c__s
push edi
call esi
lea ecx, [ebp - 0x108]
push ecx
mov dword [ebp - 0x618], eax
call esi
mov ecx, dword [ebp - 0x618]
lea esi, [ecx + eax + 8]
push esi
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, ebx
mov dword [ebp - 0x610], eax
jne 0x1002d4f
push ebx
push 0x10
push ebx
push ebx
push 0x4b5
push ebx
jmp 0x1002b5a
lea ecx, [ebp - 0x108]
push ecx
push edi
push esi
push eax
call fcn.01001f59
add esp, 0x10
jmp 0x1002dfd
mov esi, 0x400
push esi
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, ebx
mov dword [ebp - 0x610], eax
je 0x1002d3f
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, edi
je 0x1002dd7
test al, 0x10
jne 0x1002dd7
lea eax, [ebp - 0x108]
push eax
push esi
lea eax, [ebp - 0x60c]
push eax
call fcn.01001ede
mov edi, dword [ebp - 0x614]
cmp edi, ebx
je 0x1002dea
cmp byte [edi], bl
je 0x1002dea
push 0x10013b8
push esi
lea eax, [ebp - 0x60c]
push eax
call fcn.01001f18
push edi
push esi
lea eax, [ebp - 0x60c]
push eax
call fcn.01001f18
jmp 0x1002dea
push dword [ebp - 0x61c]
lea eax, [ebp - 0x60c]
push esi
push eax
call fcn.01001ede
push esi
push dword [ebp - 0x610]
lea eax, [ebp - 0x60c]
push eax
call fcn.01002917
mov eax, dword [ebp - 0x620]
mov ecx, dword [ebp - 0x610]
mov dword [eax], ecx
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01006b33
leave
ret 0x10