Function at 0x40731c
Capabilities:
Create process on windows
Read .ini file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x18c4
call fcn.00412a00
push ebx
push esi
push edi
lea eax, [ebp - 0xc94]
push 1
push eax
call fcn.0040962f
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
pop ecx
test eax, eax
pop ecx
je 0x407387
lea eax, [ebp - 0x67c]
push eax
lea eax, [ebp - 0xc94]
push eax
call fcn.00409e6b
pop ecx
lea eax, [ebp - 0x67c]
pop ecx
push eax
lea eax, [ebp - 0x884]
push 0x41c1cc
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x884]
push eax
push dword [0x4210bc]
call fcn.00409b31
pop ecx
pop ecx
mov edi, 0x4212e8
push edi
push 0x41c058
push dword [0x424ed8]
call fcn.00403bf5
add esp, 0xc
push eax
call fcn.00404ebc
pop ecx
lea eax, [ebp - 0x474]
push 0x424660
push 0x208
push eax
push 0
push str.Spawn
push str.BootStrap
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x474]
push eax
lea eax, [ebp - 0xa8c]
push 0x41c5f8
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x474]
mov ebx, 0x424aa0
push eax
push ebx
lea eax, [ebp - 0x26c]
push 0x41c1a4
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0xa8c]
push eax
push 0x424cc0
call fcn.00408d2f
add esp, 0xc
lea eax, [ebp - 0x26c]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
call fcn.00408ced
mov al, byte [0x4212e8]
test al, al
je 0x407455
mov cl, byte [0x4212e9]
cmp cl, 0x3a
je 0x40744e
cmp al, 0x5c
jne 0x407455
cmp cl, al
jne 0x407455
mov edx, 0x41fcac
jmp 0x407457
mov edx, ebx
mov eax, dword [0x420d98]
mov ecx, dword [0x4210a8]
xor ebx, ebx
cmp eax, ebx
je 0x40749a
cmp ecx, ebx
je 0x40749a
push 0x421900
push 0x4216f8
push 0x423d40
push 0x420ea0
push 0x420988
push edi
push edx
lea eax, [ebp - 0x18c4]
push str._s_s__s___s___q___s____s____s____s_
push eax
call esi
add esp, 0x24
jmp 0x4074fb
cmp eax, ebx
je 0x4074bb
push 0x421900
push 0x4216f8
push 0x423d40
push 0x420988
push edi
push edx
push str._s_s__s___s____s____s____s_
jmp 0x4074da
push 0x421900
cmp ecx, ebx
push 0x4216f8
push 0x423d40
je 0x4074e8
push 0x420ea0
push edi
push edx
push str._s_s__q___s____s____s____s_
lea eax, [ebp - 0x18c4]
push eax
call esi
add esp, 0x20
jmp 0x4074fb
push edi
push edx
lea eax, [ebp - 0x18c4]
push str._s_s___s____s____s_
push eax
call esi
add esp, 0x1c
push 0x44
lea eax, [ebp - 0x64]
pop edi
push edi
push ebx
push eax
call fcn.00411db0
add esp, 0xc
mov dword [ebp - 0x64], edi
lea eax, [ebp - 0x20]
push 1
pop edi
push eax
lea eax, [ebp - 0x64]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x18c4]
push ebx
push eax
push ebx
mov word [ebp - 0x34], di
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
cmp eax, ebx
jne 0x407586
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x10]
push str.0x_08lXH
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x10]
push str.CreateProcess__
push 0x41c058
push eax
push 0x41c054
push dword [0x424ca8]
call fcn.00403bf5
add esp, 0xc
push eax
call fcn.00403bf5
add esp, 0xc
push eax
push edi
push 0x10
push edi
call fcn.0040520a
add esp, 0x10
xor eax, eax
jmp 0x4075ca
call fcn.00404e74
push ebx
push dword [0x4210b4]
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.00407c7d
lea eax, [ebp - 4]
push eax
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp dword [ebp - 4], 0x103
je 0x407598
cmp dword [ebp - 4], ebx
je 0x4075c8
push ebx
call fcn.00407aa0
pop ecx
push dword [ebp - 4]
call fcn.00410e50
pop ecx
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret