Function at 0x40f120
Capabilities:
Terminate process

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x240
mov dword [0x4326b0], eax
push ebx
push ebp
push esi
push edi
call fcn.00413d28
mov ebx, dword [esp + 0x25c]
push str.MAKEINF
push ebx
call fcn.0041a750
add esp, 8
test eax, eax
je 0x40f158
mov byte [0x432bc9], 1
push str.DISKSIZE
push ebx
call fcn.0041a750
add esp, 8
xor ebp, ebp
test eax, eax
je 0x40f223
push str.DISKSIZE
push ebx
call fcn.0041a750
add esp, 8
lea ecx, [esp + 0x24]
push eax
call fcn.00413e2e
sub esp, 8
mov dword [esp + 0x18], ebp
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x42c100
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
call fcn.00413e2e
sub esp, 8
lea edx, [esp + 0x34]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.00413e74
lea eax, [esp + 0x20]
push eax
call fcn.00415816
mov eax, dword [esp + 0x28]
add esp, 0x14
cmp eax, 2
jl 0x40f1f2
mov ecx, dword [esp + 0x10]
add ecx, 8
call fcn.00413ead
push eax
call fcn.0041aa0c
mov dword [0x42a148], eax
mov eax, dword [esp + 0x18]
add esp, 4
mov esi, dword [esp + 0x10]
cmp esi, ebp
je 0x40f21a
cmp eax, ebp
je 0x40f211
lea edi, [eax]
mov ecx, esi
call fcn.00413e8c
add esi, 8
dec edi
jne 0x40f200
mov esi, dword [esp + 0x10]
push esi
call fcn.00419f48
add esp, 4
lea ecx, [esp + 0x24]
call fcn.00413e8c
push 0x42b328
push ebx
call fcn.0041a750
add esp, 8
test eax, eax
je 0x40f244
push 0x42b328
mov ecx, 0x432bc0
call fcn.00413ed9
push 0x42b31c
push ebx
call fcn.0041a750
add esp, 8
test eax, eax
je 0x40f265
push 0x42b31c
mov ecx, 0x432bc0
call fcn.00413ed9
push 0x42c0fc
push ebx
call fcn.0041a750
add esp, 8
test eax, eax
je 0x40f27e
mov byte [0x432bca], 1
push 0x42c0f8
push ebx
call fcn.0041a750
add esp, 8
test eax, eax
je 0x40f297
mov byte [0x432bd4], 1
mov edx, dword [0x4326b0]
push 0x400
push 0x4326b4
push 0x1b58
push edx
call dword [sym.imp.USER32.dll_LoadStringA]
mov edi, 0x4326b4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x40f2de
push 0x10
push 0x42c0f0
push str.Internal_error___no_resource
push ebp
call dword [sym.imp.USER32.dll_MessageBoxA]
push 4
call fcn.00419f80
mov esi, dword [esp + 0x254]
push ebp
push 0x40ef80
push ebp
push 0x65
push esi
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov ecx, 0x432418
call fcn.00401060
lea eax, [esp + 0x48]
push 0x104
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push ebp
lea ecx, [esp + 0x150]
push ebp
push ecx
lea edx, [esp + 0x54]
push 0x4325ac
push edx
call fcn.0041aa7c
lea edi, [esp + 0x160]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebp
mov esi, edi
mov edx, ecx
mov edi, 0x4325ac
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
lea eax, [esp + 0x34]
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
push ebp
push eax
call esi
test eax, eax
je 0x40f397
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
lea ecx, [esp + 0x2c]
push ecx
call edi
lea edx, [esp + 0x2c]
push edx
call ebx
push ebp
push ebp
lea eax, [esp + 0x34]
push ebp
push eax
call esi
test eax, eax
jne 0x40f37b
push ebp
call fcn.0040f440
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x240
ret 0x10