Function at 0x1002a68
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.01001edb
cmp byte [ebp - 0x20c], 0x22
jne 0x1002ac4
lea eax, [ebp - 0x20b]
push 0x10013cc
jmp 0x1002acf
lea eax, [ebp - 0x20c]
push 0x10013c8
mov dword [ebp - 0x610], eax
lea eax, [ebp - 0x610]
push eax
call fcn.01001a80
mov ebx, dword [ebp - 0x610]
push ebx
mov dword [ebp - 0x614], eax
call fcn.01001c0c
test eax, eax
lea eax, [ebp - 0x108]
jne 0x1002b19
push 0x100d2a4
push esi
push eax
call fcn.01001edb
push ebx
push esi
lea eax, [ebp - 0x108]
push eax
call fcn.01007610
jmp 0x1002b21
push ebx
push esi
push eax
call fcn.01001edb
push 0x2e
push ebx
call fcn.01007693
mov esi, dword [sym.imp.KERNEL32.dll_CompareStringA]
or edi, 0xffffffff
test eax, eax
je 0x1002cfc
push edi
push 0x10013c0
push edi
push eax
push 1
push 0x7f
call esi
dec eax
dec eax
jne 0x1002cfc
lea eax, [ebp - 0x108]
push eax
call fcn.0100766b
test eax, eax
jne 0x1002b7d
push eax
push 0x10
push eax
lea ecx, [ebp - 0x108]
push ecx
push 0x525
push eax
call fcn.01003810
xor eax, eax
jmp 0x1002e25
mov eax, dword [ebp - 0x614]
mov dword [ebp - 0x610], eax
push 0x10013bc
lea eax, [ebp - 0x610]
push eax
call fcn.01001a80
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, 0x100c0a4
push ebx
mov edi, eax
call esi
test edi, edi
je 0x1002bda
cmp byte [edi], 0
je 0x1002bb9
mov dword [ebp - 0x610], edi
push 0x10013b8
lea eax, [ebp - 0x610]
push eax
call fcn.01001a80
mov edi, dword [ebp - 0x610]
cmp byte [edi], 0
je 0x1002be0
push edi
call esi
jmp 0x1002be0
mov edi, dword [ebp - 0x610]
mov esi, 0x200
push esi
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
xor ecx, ecx
mov dword [ebp - 0x610], eax
cmp eax, ecx
jne 0x1002c0a
push ecx
push 0x10
push ecx
push ecx
push 0x4b5
push ecx
jmp 0x1002b71
mov eax, edi
cmp byte [edi], cl
jne 0x1002c12
mov eax, ebx
lea edx, [ebp - 0x108]
push edx
push ecx
push 0x10013b0
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 0x10012f1
push 0x10013a4
push 0x100139c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x1002c94
or dword [0x100daf4], 4
cmp byte [edi], 0
jne 0x1002c6d
mov edi, ebx
push edi
push dword [ebp + 0xc]
push dword [ebp - 0x61c]
call fcn.01001edb
lea eax, [ebp - 0x108]
push eax
push esi
push dword [ebp - 0x610]
call fcn.01001edb
jmp 0x1002e14
and dword [0x100daf4], 0xfffffffb
cmp word [0x100d0cc], 0
jne 0x1002cc4
push 0x104
lea eax, [ebp - 0x108]
push eax
push eax
mov dword [ebp - 0x614], 0x1001390
call dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
jmp 0x1002cce
mov dword [ebp - 0x614], 0x1001380
cmp byte [edi], 0
jne 0x1002cd5
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.01001f71
add esp, 0x18
jmp 0x1002e14
push 0x2e
push ebx
call fcn.01007693
xor ebx, ebx
cmp eax, ebx
je 0x1002d7d
push edi
push 0x1001378
push edi
push eax
push 1
push 0x7f
call esi
dec eax
dec eax
jne 0x1002d7d
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]
mov dword [ebp - 0x610], eax
cmp eax, ebx
jne 0x1002d66
push ebx
push 0x10
push ebx
push ebx
push 0x4b5
push ebx
jmp 0x1002b71
lea ecx, [ebp - 0x108]
push ecx
push edi
push esi
push eax
call fcn.01001f71
add esp, 0x10
jmp 0x1002e14
mov esi, 0x400
push esi
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x610], eax
cmp eax, ebx
je 0x1002d56
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, edi
je 0x1002dee
test al, 0x10
jne 0x1002dee
lea eax, [ebp - 0x108]
push eax
push esi
lea eax, [ebp - 0x60c]
push eax
call fcn.01001edb
mov edi, dword [ebp - 0x614]
cmp edi, ebx
je 0x1002e01
cmp byte [edi], bl
je 0x1002e01
push 0x10013c8
push esi
lea eax, [ebp - 0x60c]
push eax
call fcn.01001f17
push edi
push esi
lea eax, [ebp - 0x60c]
push eax
call fcn.01001f17
jmp 0x1002e01
push dword [ebp - 0x61c]
lea eax, [ebp - 0x60c]
push esi
push eax
call fcn.01001edb
push esi
push dword [ebp - 0x610]
lea eax, [ebp - 0x60c]
push eax
call fcn.01002925
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.01006b51
leave
ret 0x10