Function at 0x100232a
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 0x100235e
lea eax, [ebp - 0x20f]
push 0x100132c
jmp 0x1002369
lea eax, [ebp - 0x210]
push 0x1001328
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.01001878
mov edi, dword [ebp - 4]
push edi
mov dword [ebp - 8], eax
call fcn.01001de1
test eax, eax
lea eax, [ebp - 0x10c]
jne 0x10023a2
push 0x100ac44
push eax
call esi
push edi
lea eax, [ebp - 0x10c]
push eax
call fcn.01005b5f
jmp 0x10023a6
push edi
push eax
call esi
push 0x2e
push edi
call fcn.01005c15
test eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
je 0x100253c
push 0x1001320
push eax
call ebx
test eax, eax
jne 0x100253c
lea eax, [ebp - 0x10c]
push eax
call fcn.01005bf7
test eax, eax
jne 0x10023f2
push eax
push 0x10
push eax
lea ecx, [ebp - 0x10c]
push ecx
push 0x525
push eax
jmp 0x10025bf
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
push 0x100131c
lea eax, [ebp - 4]
push eax
call fcn.01001878
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0x100a0a4
mov edi, eax
call ebx
test edi, edi
je 0x100243c
cmp byte [edi], 0
je 0x1002421
mov dword [ebp - 4], edi
push 0x1001318
lea eax, [ebp - 4]
push eax
call fcn.01001878
mov edi, dword [ebp - 4]
cmp byte [edi], 0
je 0x100243f
push edi
call ebx
jmp 0x100243f
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 0x1002465
push ecx
push 0x10
push ecx
push ecx
push 0x4b5
push ecx
jmp 0x10025bf
cmp byte [edi], 0
mov ebx, 0x100a0a4
mov eax, edi
jne 0x1002473
mov eax, ebx
lea ecx, [ebp - 0x10c]
push ecx
push 0
push 0x1001310
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 0x1001254
push 0x1001304
push 0x10012fc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jbe 0x10024e0
or dword [0x100b494], 4
cmp byte [edi], 0
jne 0x10024c9
mov edi, ebx
push edi
push dword [ebp + 8]
call esi
lea eax, [ebp - 0x10c]
push eax
push dword [ebp - 4]
call esi
jmp 0x100262c
and dword [0x100b494], 0xfffffffb
cmp word [0x100aa64], 0
jne 0x1002511
push 0x104
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x10c]
push eax
mov esi, 0x10012f0
call dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
jmp 0x1002516
mov esi, 0x10012e0
cmp byte [edi], 0
jne 0x100251d
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 0x100262c
push 0x2e
push edi
call fcn.01005c15
xor edi, edi
cmp eax, edi
je 0x10025a0
push 0x10012d8
push eax
call ebx
test eax, eax
jne 0x10025a0
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 0x1002455
lea ecx, [ebp - 0x10c]
push ecx
push edi
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x100262c
push 0x400
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, edi
mov dword [ebp - 4], eax
jne 0x10025c8
push edi
push 0x10
push edi
push edi
push 0x4b5
push edi
call fcn.010038f9
xor eax, eax
jmp 0x1002637
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1002611
test al, 0x10
jne 0x1002611
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x610]
push eax
call esi
mov ebx, dword [ebp - 8]
cmp ebx, edi
je 0x100264a
push ebp
or byte [eax + eax*8 - 0x3fcc078b], al
add byte [eax], al
add byte [edx + eax - 9], bh
fmul dword [ecx + 0x458bfc45]
cld
and al, 0xc