Function at 0x1002a91
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.01001f1e
cmp byte [ebp - 0x20c], 0x22
jne 0x1002aed
lea eax, [ebp - 0x20b]
push 0x10013bc
jmp 0x1002af8
lea eax, [ebp - 0x20c]
push 0x10013b8
mov dword [ebp - 0x610], eax
lea eax, [ebp - 0x610]
push eax
call fcn.01001ae2
mov ebx, dword [ebp - 0x610]
push ebx
mov dword [ebp - 0x614], eax
call fcn.01001c54
test eax, eax
lea eax, [ebp - 0x108]
jne 0x1002b42
push 0x100d2a4
push esi
push eax
call fcn.01001f1e
push ebx
push esi
lea eax, [ebp - 0x108]
push eax
call fcn.010074d0
jmp 0x1002b4a
push ebx
push esi
push eax
call fcn.01001f1e
push 0x2e
push ebx
call fcn.01007553
mov esi, dword [sym.imp.KERNEL32.dll_CompareStringA]
or edi, 0xffffffff
test eax, eax
je 0x1002d25
push edi
push 0x10013b0
push edi
push eax
push 1
push 0x7f
call esi
dec eax
dec eax
jne 0x1002d25
lea eax, [ebp - 0x108]
push eax
call fcn.0100752b
test eax, eax
jne 0x1002ba6
push eax
push 0x10
push eax
lea ecx, [ebp - 0x108]
push ecx
push 0x525
push eax
call fcn.01003816
xor eax, eax
jmp 0x1002e4e
mov eax, dword [ebp - 0x614]
mov dword [ebp - 0x610], eax
push 0x10013ac
lea eax, [ebp - 0x610]
push eax
call fcn.01001ae2
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, 0x100c0a4
push ebx
mov edi, eax
call esi
test edi, edi
je 0x1002c03
cmp byte [edi], 0
je 0x1002be2
mov dword [ebp - 0x610], edi
push 0x10013a8
lea eax, [ebp - 0x610]
push eax
call fcn.01001ae2
mov edi, dword [ebp - 0x610]
cmp byte [edi], 0
je 0x1002c09
push edi
call esi
jmp 0x1002c09
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 0x1002c33
push ecx
push 0x10
push ecx
push ecx
push 0x4b5
push ecx
jmp 0x1002b9a
cmp byte [edi], cl
mov eax, edi
jne 0x1002c3b
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 0x1002cbd
or dword [0x100daf4], 4
cmp byte [edi], 0
jne 0x1002c96
mov edi, ebx
push edi
push dword [ebp + 0xc]
push dword [ebp - 0x61c]
call fcn.01001f1e
lea eax, [ebp - 0x108]
push eax
push esi
push dword [ebp - 0x610]
call fcn.01001f1e
jmp 0x1002e3d
and dword [0x100daf4], 0xfffffffb
cmp word [0x100d0cc], 0
jne 0x1002ced
push 0x104
lea eax, [ebp - 0x108]
push eax
push eax
mov dword [ebp - 0x614], 0x1001380
call dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
jmp 0x1002cf7
mov dword [ebp - 0x614], 0x1001370
cmp byte [edi], 0
jne 0x1002cfe
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.01001f99
add esp, 0x18
jmp 0x1002e3d
push 0x2e
push ebx
call fcn.01007553
xor ebx, ebx
cmp eax, ebx
je 0x1002da6
push edi
push 0x1001368
push edi
push eax
push 1
push 0x7f
call esi
dec eax
dec eax
jne 0x1002da6
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 0x1002d8f
push ebx
push 0x10
push ebx
push ebx
push 0x4b5
push ebx
jmp 0x1002b9a
lea ecx, [ebp - 0x108]
push ecx
push edi
push esi
push eax
call fcn.01001f99
add esp, 0x10
jmp 0x1002e3d
mov esi, 0x400
push esi
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, ebx
mov dword [ebp - 0x610], eax
je 0x1002d7f
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, edi
je 0x1002e17
test al, 0x10
jne 0x1002e17
lea eax, [ebp - 0x108]
push eax
push esi
lea eax, [ebp - 0x60c]
push eax
call fcn.01001f1e
mov edi, dword [ebp - 0x614]
cmp edi, ebx
je 0x1002e2a
cmp byte [edi], bl
je 0x1002e2a
push 0x10013b8
push esi
lea eax, [ebp - 0x60c]
push eax
call fcn.01001f58
push edi
push esi
lea eax, [ebp - 0x60c]
push eax
call fcn.01001f58
jmp 0x1002e2a
push dword [ebp - 0x61c]
lea eax, [ebp - 0x60c]
push esi
push eax
call fcn.01001f1e
push esi
push dword [ebp - 0x610]
lea eax, [ebp - 0x60c]
push eax
call fcn.01002957
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.01006b69
leave
ret 0x10