Function at 0x10022ff
Capabilities:
Check if file exists
Get file attributes
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x610
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push edi
push dword [ebp + 8]
lea eax, [ebp - 0x210]
push eax
call esi
cmp byte [ebp - 0x210], 0x22
jne 0x1002333
lea eax, [ebp - 0x20f]
push 0x1001328
jmp 0x100233e
lea eax, [ebp - 0x210]
push 0x1001324
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.01001840
mov edi, dword [ebp - 4]
push edi
mov dword [ebp - 8], eax
call fcn.01001da9
test eax, eax
lea eax, [ebp - 0x10c]
jne 0x1002377
push 0x100ac44
push eax
call esi
push edi
lea eax, [ebp - 0x10c]
push eax
call fcn.01005b32
jmp 0x100237b
push edi
push eax
call esi
push 0x2e
push edi
call fcn.01005be8
test eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
je 0x1002511
push 0x100131c
push eax
call ebx
test eax, eax
jne 0x1002511
lea eax, [ebp - 0x10c]
push eax
call fcn.01005bca
test eax, eax
jne 0x10023c7
push eax
push 0x10
push eax
lea ecx, [ebp - 0x10c]
push ecx
push 0x525
push eax
jmp 0x1002594
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
push 0x1001318
lea eax, [ebp - 4]
push eax
call fcn.01001840
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0x100a0a4
mov edi, eax
call ebx
test edi, edi
je 0x1002411
cmp byte [edi], 0
je 0x10023f6
mov dword [ebp - 4], edi
push 0x1001314
lea eax, [ebp - 4]
push eax
call fcn.01001840
mov edi, dword [ebp - 4]
cmp byte [edi], 0
je 0x1002414
push edi
call ebx
jmp 0x1002414
mov edi, dword [ebp - 4]
push 0x200
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
xor ecx, ecx
cmp eax, ecx
mov dword [ebp - 4], eax
jne 0x100243a
push ecx
push 0x10
push ecx
push ecx
push 0x4b5
push ecx
jmp 0x1002594
cmp byte [edi], 0
mov ebx, 0x100a0a4
mov eax, edi
jne 0x1002448
mov eax, ebx
lea ecx, [ebp - 0x10c]
push ecx
push 0
push 0x100130c
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x100aa60], eax
mov eax, dword [ebp + 0x10]
mov dword [eax], 1
lea eax, [ebp - 0x10c]
push eax
push 8
push dword [ebp - 4]
push 0x1001251
push 0x1001300
push 0x10012f8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jbe 0x10024b5
or dword [0x100b494], 4
cmp byte [edi], 0
jne 0x100249e
mov edi, ebx
push edi
push dword [ebp + 8]
call esi
lea eax, [ebp - 0x10c]
push eax
push dword [ebp - 4]
call esi
jmp 0x1002601
and dword [0x100b494], 0xfffffffb
cmp word [0x100aa64], 0
jne 0x10024e6
push 0x104
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x10c]
push eax
mov esi, 0x10012ec
call dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
jmp 0x10024eb
mov esi, 0x10012dc
cmp byte [edi], 0
jne 0x10024f2
mov edi, ebx
lea eax, [ebp - 0x10c]
push eax
push edi
push esi
push 0x100a014
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp 0x1002601
push 0x2e
push edi
call fcn.01005be8
xor edi, edi
cmp eax, edi
je 0x1002575
push 0x10012d4
push eax
call ebx
test eax, eax
jne 0x1002575
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, str.Command.com__c__s
push edi
call esi
mov ebx, eax
lea eax, [ebp - 0x10c]
push eax
call esi
lea eax, [ebx + eax + 8]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
xor ecx, ecx
cmp eax, ecx
mov dword [ebp - 4], eax
je 0x100242a
lea ecx, [ebp - 0x10c]
push ecx
push edi
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x1002601
push 0x400
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, edi
mov dword [ebp - 4], eax
jne 0x100259d
push edi
push 0x10
push edi
push edi
push 0x4b5
push edi
call fcn.010038cc
xor eax, eax
jmp 0x100260c
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x10025e6
test al, 0x10
jne 0x10025e6
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x610]
push eax
call esi
mov ebx, dword [ebp - 8]
cmp ebx, edi
je 0x10025f2
cmp byte [ebx], 0
je 0x10025f2
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x1001324
lea eax, [ebp - 0x610]
push eax
call esi
push ebx
jmp 0x10025e9
push dword [ebp + 8]
lea eax, [ebp - 0x610]
push eax
call esi
push dword [ebp - 4]
lea eax, [ebp - 0x610]
push eax
call fcn.010021fb
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov dword [eax], ecx
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 0xc