Function at 0x407410
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x430ca0]
push ebx
push esi
push edi
push 0xd
mov dword [ebp - 0x20], eax
call dword [sym.imp.MSVCR100.dll_malloc]
mov esi, eax
add esp, 4
test esi, esi
jne 0x407464
push str._Out_of_memory._Please_run_a_smaller_problem_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00404240
inc dword [0x42fba4]
je 0x40745c
call fcn.00403eb0
push 3
call dword [sym.imp.MSVCR100.dll_exit]
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
push 0x4284c0
mov dword [esi + 8], eax
push str.newcmd.mlm
mov byte [esi + 0xc], al
call dword [sym.imp.MSVCR100.dll_fopen]
mov ebx, dword [sym.imp.MSVCR100.dll_fprintf]
push 0x430d60
mov edi, eax
push str.This_command_file_was_run_with__s_n
push edi
call ebx
push 0xd
push 0x42f9f0
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
call fcn.00403d00
push esi
push str.LEVEL1:_s
push edi
call ebx
add esp, 0x2c
cmp dword [0x430cb0], 0
mov dword [ebp - 0x18], 0
jl 0x40754f
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], ecx
mov edx, dword [0x430c18]
cmp dword [edx + eax*4], 1
jne 0x40753f
mov eax, dword [ebp - 0x24]
push 0xd
push eax
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
call fcn.00403d00
push esi
push 0x42792c
push edi
call ebx
mov ecx, dword [ebp - 0x18]
mov edx, dword [0x42fd88]
add esp, 0x18
cmp dword [edx + ecx*4], 1
jne 0x407516
push 0x4284f4
push edi
call ebx
add esp, 8
mov eax, dword [ebp - 0x18]
mov ecx, dword [0x42fd88]
cmp dword [ecx + eax*4], 2
jne 0x407530
push 0x4284f8
push edi
call ebx
add esp, 8
push edi
push 0x2b
call dword [sym.imp.MSVCR100.dll_fputc]
mov eax, dword [ebp - 0x18]
add esp, 8
add dword [ebp - 0x24], 0xd
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [0x430cb0]
jle 0x4074d2
push str.RANDOM_n
push edi
call ebx
xor eax, eax
add esp, 8
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], eax
cmp dword [0x430cb0], eax
jl 0x40770c
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x20], edx
jmp 0x407580
mov ecx, dword [0x430c18]
cmp dword [ecx + eax*4], 1
jne 0x4076f8
mov edx, dword [ebp - 0x20]
push 0xd
push edx
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
call fcn.00403d00
push esi
push str.LEVEL2:_s
push edi
call ebx
mov eax, dword [0x430c98]
add esp, 0x18
mov dword [ebp - 0x1c], 0
test eax, eax
jle 0x4076e6
imul eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x1c]
mov ecx, dword [0x430d28]
mov eax, dword [ecx + eax*4]
cmp eax, 0xffffff9d
je 0x4076e6
imul eax, eax, 0xd
add eax, dword [0x430c14]
push 0xd
push eax
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
push 0xc
push 0x430cf0
push esi
call dword [sym.imp.MSVCR100.dll_strncmp]
add esp, 0x18
test eax, eax
je 0x407650
xor eax, eax
mov cl, byte [eax + 0x430cf0]
mov byte [ebp + eax - 0x14], cl
inc eax
test cl, cl
jne 0x407605
cmp byte [esi], 0x20
jne 0x407646
lea ebx, [esi + 1]
lea esp, [esp]
push 7
lea edx, [ebp - 0x14]
push ebx
push edx
call dword [sym.imp.MSVCR100.dll_strncpy]
push 7
lea eax, [ebp - 0x14]
push eax
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
add esp, 0x18
mov byte [esi + 7], 0
cmp byte [esi], 0x20
je 0x407620
mov ebx, dword [sym.imp.MSVCR100.dll_fprintf]
mov byte [esi + 8], 0
push esi
push 0x42792c
push edi
call ebx
mov eax, dword [0x430c98]
mov edx, dword [0x430d28]
mov ecx, eax
imul ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x1c]
add esp, 0xc
mov ecx, dword [edx + ecx*4]
mov edx, dword [0x42fba8]
cmp dword [edx + ecx*4], 2
jne 0x40768f
push 0x4284f8
push edi
call ebx
mov eax, dword [0x430c98]
add esp, 8
lea ecx, [eax - 1]
cmp dword [ebp - 0x1c], ecx
je 0x4076b8
mov ecx, dword [0x430d28]
mov edx, eax
imul edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x1c]
cmp dword [ecx + edx*4 + 4], 0xffffff9d
je 0x4076b8
push edi
push 0x2b
call dword [sym.imp.MSVCR100.dll_fputc]
jmp 0x4076cf
mov edx, dword [0x430bac]
mov ecx, dword [ebp - 0x18]
cmp dword [edx + ecx*4], 0
jne 0x4076d7
push 0x428510
push edi
call ebx
mov eax, dword [0x430c98]
add esp, 8
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, eax
jl 0x4075c2
push edi
push 0xa
call dword [sym.imp.MSVCR100.dll_fputc]
mov eax, dword [ebp - 0x24]
add esp, 8
inc dword [ebp - 0x18]
add dword [ebp - 0x20], 0xd
inc eax
mov dword [ebp - 0x24], eax
cmp eax, dword [0x430cb0]
jle 0x407580
mov edx, dword [0x430cac]
push edx
push str.NUMIT:_ld
push edi
call ebx
mov eax, dword [0x42f86c]
add esp, 0xc
test eax, eax
jne 0x40772e
push 0x428524
jmp 0x407738
cmp eax, 1
jne 0x40773e
push 0x428528
push edi
call ebx
add esp, 8
push edi
push 0xa
call dword [sym.imp.MSVCR100.dll_fputc]
fld qword [0x430b88]
fstp qword [esp]
push str.STOPVAL:_.10lf_n
push edi
call ebx
fld qword [0x4300f0]
fld st(0)
add esp, 0x10
fld qword [0x430d18]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x407793
sub esp, 8
fstp qword [esp]
push str.DEVIANCE:_lf_n
push edi
call ebx
mov eax, dword [0x430c84]
push eax
push str.DF:_ld_n
push edi
call ebx
add esp, 0x1c
jmp 0x407795
fstp st(0)
mov ecx, dword [0x430214]
push ecx
push str.FIXTAU:_ld_n
push edi
call ebx
add esp, 0xc
cmp dword [0x42f9e0], 0
je 0x4077e3
push str.PRINTVARIANCE_COVARIANCE:
push edi
call ebx
mov eax, dword [0x42f9e0]
add esp, 8
dec eax
je 0x4077cb
dec eax
jne 0x4077d7
push edi
push 0x41
jmp 0x4077ce
push edi
push 0x59
call dword [sym.imp.MSVCR100.dll_fputc]
add esp, 8
push edi
push 0xa
call dword [sym.imp.MSVCR100.dll_fputc]
add esp, 8
mov eax, dword [0x430204]
test eax, eax
je 0x4077f8
push eax
push str.DEBUG:_ld_n
push edi
call ebx
add esp, 0xc
cmp dword [0x430bb8], 0
je 0x4078d1
mov edx, dword [0x430d0c]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x24]
movsx eax, word [eax*2 + 0x42fb60]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x4078d1
mov dword [ebp - 0x18], 0
jle 0x4078ae
mov ecx, dword [ebp - 0x24]
inc ecx
push ecx
push str.GAMMA_d:
push edi
call dword [sym.imp.MSVCR100.dll_fprintf]
mov eax, dword [0x430d3c]
add esp, 0xc
xor ebx, ebx
test eax, eax
jle 0x407896
imul eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
add eax, ebx
sub esp, 8
fld qword [edx + eax*8]
fstp qword [esp]
push str._.4lf
push edi
call dword [sym.imp.MSVCR100.dll_fprintf]
mov eax, dword [0x430d3c]
lea ecx, [eax - 1]
add esp, 0x10
cmp ebx, ecx
je 0x407891
push edi
push 0x2c
call dword [sym.imp.MSVCR100.dll_fputc]
mov eax, dword [0x430d3c]
add esp, 8
inc ebx
cmp ebx, eax
jl 0x407853
push edi
push 0xa
call dword [sym.imp.MSVCR100.dll_fputc]
mov eax, dword [ebp - 0x18]
inc eax
add esp, 8
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x1c]
jl 0x407834
mov edx, dword [0x430d3c]
imul edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
lea ecx, [eax + edx*8]
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x24], eax
cmp eax, 0x18
jl 0x407815
mov ebx, dword [sym.imp.MSVCR100.dll_fprintf]
push 0x430a80
push str.OUTPUT:_s_n
push edi
call ebx
add esp, 0xc
cmp dword [0x430c88], 0
push 0x430a80
je 0x4078fc
push str.FULLOUTPUT:Y_n
jmp 0x407901
push str.FULLOUTPUT:N_n
push edi
call ebx
add esp, 0xc
push 0x430100
push str.TITLE:_s_n
push edi
call ebx
mov edx, dword [0x42f870]
push edx
push str.ACCEL:_d_n
push edi
call ebx
push str.R_E_MODEL:
push edi
call ebx
mov eax, dword [0x430c9c]
add esp, 0x20
cmp eax, 4
ja case.default.0x40793c
jmp dword [eax*4 + 0x407b5c]
push str.UNRESTRICTED
jmp 0x407a56
push str.HOMOL1VAR
jmp 0x407a56
push str.HETL1VAR
jmp 0x407a56
push str.LOGLIN_
push edi
call ebx
mov eax, 1
add esp, 8
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0
cmp dword [0x430d10], eax
jle case.default.0x40793c
mov dword [ebp - 0x20], 0xd
mov edi, edi
mov ecx, dword [0x42fd24]
cmp dword [ecx + eax*4], 1
jne 0x407a3b
mov edx, dword [0x430ca0]
add edx, dword [ebp - 0x20]
push 0xd
push edx
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
push 0xc
push 0x430cf0
push esi
call dword [sym.imp.MSVCR100.dll_strncmp]
add esp, 0x18
test eax, eax
je 0x407a17
xor eax, eax
lea ebx, [ebx]
mov cl, byte [eax + 0x430cf0]
mov byte [ebp + eax - 0x14], cl
inc eax
test cl, cl
jne 0x4079d0
cmp byte [esi], 0x20
jne 0x407a0d
lea ebx, [esi + 1]
push 7
lea ecx, [ebp - 0x14]
push ebx
push ecx
call dword [sym.imp.MSVCR100.dll_strncpy]
push 7
lea edx, [ebp - 0x14]
push edx
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
add esp, 0x18
mov byte [esi + 7], 0
cmp byte [esi], 0x20
je 0x4079e7
mov ebx, dword [sym.imp.MSVCR100.dll_fprintf]
mov byte [esi + 8], 0
cmp dword [ebp - 0x1c], 0
je 0x407a29
push edi
push 0x2c
call dword [sym.imp.MSVCR100.dll_fputc]
add esp, 8
push esi
push 0x42792c
push edi
call ebx
mov eax, dword [ebp - 0x18]
add esp, 0xc
inc dword [ebp - 0x1c]
add dword [ebp - 0x20], 0xd
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [0x430d10]
jl 0x407990
jmp case.default.0x40793c
push str.AUTOREG
push edi
call ebx
add esp, 8
push edi
push 0xa
call dword [sym.imp.MSVCR100.dll_fputc]
add esp, 8
cmp dword [0x430c9c], 0
je 0x407a85
cmp dword [0x42fb98], 0
je 0x407a85
push str.UNRESTRICTED:N_n
push edi
call ebx
add esp, 8
push str.LVR:
push edi
call ebx
add esp, 8
cmp dword [0x42fb4c], 0
je 0x407b07
cmp dword [0x430c9c], 0
mov ecx, dword [0x430c00]
je 0x407aae
mov ecx, dword [0x430d2c]
xor eax, eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], eax
test ecx, ecx
jle 0x407b13
test eax, eax
je 0x407aca
push edi
push 0x2c
call dword [sym.imp.MSVCR100.dll_fputc]
add esp, 8
mov eax, dword [0x42fb9c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax + ecx*4]
test eax, eax
jne 0x407ade
push edi
push 0x49
jmp 0x407af0
cmp eax, 1
jne 0x407ae8
push edi
push 0x4f
jmp 0x407af0
cmp eax, 2
jne 0x407af9
push edi
push 0x50
call dword [sym.imp.MSVCR100.dll_fputc]
add esp, 8
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x1c]
jl 0x407aba
jmp 0x407b13
push edi
push 0x4e
call dword [sym.imp.MSVCR100.dll_fputc]
add esp, 8
push edi
push 0xa
call dword [sym.imp.MSVCR100.dll_fputc]
add esp, 8
cmp dword [0x42fb50], 0
je 0x407b38
push 0x42f8a0
push str.GRAPHGAMMAS:_s_n
push edi
call ebx
add esp, 0xc
push edi
call dword [sym.imp.MSVCR100.dll_fclose]
push esi
call dword [sym.imp.MSVCR100.dll_free]
mov ecx, dword [ebp - 4]
add esp, 8
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00425fc4
mov esp, ebp
pop ebp
ret