Function at 0x4389b0
Capabilities:
Delete file
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov eax, 0x43c588
mov ecx, 0x448740
call fcn.004066f0
mov ebx, eax
push 0x4000
mov dword [ebp - 0x30], ebx
call dword [sym.imp.MSVCR100.dll_malloc]
mov edi, eax
add esp, 4
mov dword [ebp - 0x2c], edi
test edi, edi
jne 0x438a37
push str._Out_of_memory._Please_run_a_smaller_problem_n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov eax, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push eax
mov dword [0x443e58], 1
call esi
mov ecx, dword [0x448bc8]
push ecx
call esi
add esp, 0xc
cmp dword [0x443e58], edi
je 0x438a2f
call fcn.00406b90
push 3
call dword [sym.imp.MSVCR100.dll_exit]
push 0x4000
push 0
push edi
call sub.MSVCR100.dll_memset
push ebx
push 0x4000
push edi
call dword [sym.imp.MSVCR100.dll_fgets]
push 0xa
push edi
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 0x20
test eax, eax
je 0x438a7e
mov byte [eax], 0
dec eax
cmp byte [eax], 0
je 0x438a7e
lea ebx, [ebx]
cmp byte [eax], 0x20
jne 0x438a7e
mov byte [eax], 0
dec eax
cmp byte [eax], 0
jne 0x438a70
cmp byte [edi], 0
mov esi, edi
je 0x438a9a
movsx edx, byte [esi]
push edx
call dword [sym.imp.MSVCR100.dll_toupper]
mov byte [esi], al
inc esi
add esp, 4
cmp byte [esi], 0
jne 0x438a85
push 7
push str.SIGMA2
push edi
call dword [sym.imp.MSVCR100.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x438af9
push str.sigma2_value_must_be_preceded_with_a_line_SIGMA2_n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov eax, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push eax
mov dword [0x443e58], 1
call esi
mov ecx, dword [0x448bc8]
push ecx
call esi
add esp, 0xc
cmp dword [0x443e58], 0
je 0x438af1
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll_fgets]
push ebx
push 0x4000
push edi
call esi
push 0xa
push edi
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 0x14
test eax, eax
je 0x438b2f
mov byte [eax], 0
dec eax
cmp byte [eax], 0
je 0x438b2f
cmp byte [eax], 0x20
jne 0x438b2f
mov byte [eax], 0
dec eax
cmp byte [eax], 0
jne 0x438b21
push edi
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [0x443a50]
push ebx
push 0x4000
push edi
call esi
push 0xa
push edi
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 0x18
test eax, eax
je 0x438b6e
mov byte [eax], 0
dec eax
cmp byte [eax], 0
je 0x438b6e
mov edi, edi
cmp byte [eax], 0x20
jne 0x438b6e
mov byte [eax], 0
dec eax
cmp byte [eax], 0
jne 0x438b60
cmp byte [edi], 0
mov esi, edi
je 0x438b91
mov ebx, dword [sym.imp.MSVCR100.dll_toupper]
jmp 0x438b80
movsx edx, byte [esi]
push edx
call ebx
mov byte [esi], al
inc esi
add esp, 4
cmp byte [esi], 0
jne 0x438b80
push 6
push str.TAU
push edi
call dword [sym.imp.MSVCR100.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x438bf0
push str.Tau_values_must_be_preceded_with_a_line_TAU_n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov eax, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push eax
mov dword [0x443e58], 1
call esi
mov ecx, dword [0x448bc8]
push ecx
call esi
add esp, 0xc
cmp dword [0x443e58], 0
je 0x438be8
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
xor ebx, ebx
mov dword [ebp - 0x28], ebx
cmp dword [0x448bac], ebx
jle 0x438cb8
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
push edx
push 0x4000
push esi
call dword [sym.imp.MSVCR100.dll_fgets]
push 0xa
push esi
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 0x14
test eax, eax
je 0x438c3e
mov byte [eax], 0
dec eax
cmp byte [eax], 0
je 0x438c3e
lea ecx, [ecx]
cmp byte [eax], 0x20
jne 0x438c3e
mov byte [eax], 0
dec eax
cmp byte [eax], 0
jne 0x438c30
xor edi, edi
test ebx, ebx
js 0x438ca4
mov al, byte [esi]
cmp al, 0x20
je 0x438c4e
cmp al, 9
jne 0x438c51
inc esi
jmp 0x438c44
lea ecx, [ebp - 0x24]
test al, al
je 0x438c62
inc esi
mov byte [ecx], al
mov al, byte [esi]
inc ecx
cmp al, 0x20
jne 0x438c54
lea eax, [ebp - 0x24]
push eax
mov byte [ecx], 0
call dword [sym.imp.MSVCR100.dll_atof]
mov eax, dword [0x448bac]
mov ecx, dword [0x443a28]
mov edx, eax
imul edx, ebx
add edx, edi
add esp, 4
fst qword [ecx + edx*8]
cmp ebx, edi
je 0x438c9b
mov ebx, dword [ebp - 0x28]
mov edx, eax
imul edx, edi
add edx, dword [ebp - 0x28]
fstp qword [ecx + edx*8]
jmp 0x438c9d
fstp st(0)
inc edi
cmp edi, ebx
jle 0x438c44
jmp 0x438ca9
mov eax, dword [0x448bac]
inc ebx
mov dword [ebp - 0x28], ebx
cmp ebx, eax
jl 0x438c01
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
push eax
push 0x4000
push edi
call dword [sym.imp.MSVCR100.dll_fgets]
push 0xa
push edi
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 0x14
test eax, eax
je 0x438cef
mov byte [eax], 0
dec eax
cmp byte [eax], 0
je 0x438cef
cmp byte [eax], 0x20
jne 0x438cef
mov byte [eax], 0
dec eax
cmp byte [eax], 0
jne 0x438ce1
cmp byte [edi], 0
mov esi, edi
je 0x438d0b
movsx ecx, byte [esi]
push ecx
call dword [sym.imp.MSVCR100.dll_toupper]
mov byte [esi], al
inc esi
add esp, 4
cmp byte [esi], 0
jne 0x438cf6
push 6
push str.OMEGA
push edi
call dword [sym.imp.MSVCR100.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x438d6a
push str.Omega1_values_must_be_preceded_with_a_line_OMEGA1_n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov edx, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push edx
mov dword [0x443e58], 1
call esi
mov eax, dword [0x448bc8]
push eax
call esi
add esp, 0xc
cmp dword [0x443e58], 0
je 0x438d62
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
xor ebx, ebx
mov dword [ebp - 0x28], ebx
cmp dword [0x453150], ebx
jle 0x438e35
jmp 0x438d80
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
push ecx
push 0x4000
push esi
call dword [sym.imp.MSVCR100.dll_fgets]
push 0xa
push esi
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 0x14
test eax, eax
je 0x438dbe
mov byte [eax], 0
dec eax
cmp byte [eax], 0
je 0x438dbe
lea esp, [esp]
cmp byte [eax], 0x20
jne 0x438dbe
mov byte [eax], 0
dec eax
cmp byte [eax], 0
jne 0x438db0
xor edi, edi
test ebx, ebx
js 0x438e24
mov al, byte [esi]
cmp al, 0x20
je 0x438dce
cmp al, 9
jne 0x438dd1
inc esi
jmp 0x438dc4
lea ecx, [ebp - 0x24]
test al, al
je 0x438de2
inc esi
mov byte [ecx], al
mov al, byte [esi]
inc ecx
cmp al, 0x20
jne 0x438dd4
lea edx, [ebp - 0x24]
push edx
mov byte [ecx], 0
call dword [sym.imp.MSVCR100.dll_atof]
mov eax, dword [0x453150]
mov ecx, dword [0x4439dc]
mov edx, eax
imul edx, ebx
add edx, edi
add esp, 4
fst qword [ecx + edx*8]
cmp ebx, edi
je 0x438e1b
mov ebx, dword [ebp - 0x28]
mov edx, eax
imul edx, edi
add edx, dword [ebp - 0x28]
fstp qword [ecx + edx*8]
jmp 0x438e1d
fstp st(0)
inc edi
cmp edi, ebx
jle 0x438dc4
jmp 0x438e29
mov eax, dword [0x453150]
inc ebx
mov dword [ebp - 0x28], ebx
cmp ebx, eax
jl 0x438d80
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
push eax
push 0x4000
push edi
call dword [sym.imp.MSVCR100.dll_fgets]
push 0xa
push edi
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 0x14
test eax, eax
je 0x438e6f
mov byte [eax], 0
dec eax
cmp byte [eax], 0
je 0x438e6f
cmp byte [eax], 0x20
jne 0x438e6f
mov byte [eax], 0
dec eax
cmp byte [eax], 0
jne 0x438e61
cmp byte [edi], 0
mov esi, edi
je 0x438e91
mov ebx, dword [sym.imp.MSVCR100.dll_toupper]
lea esp, [esp]
movsx ecx, byte [esi]
push ecx
call ebx
mov byte [esi], al
inc esi
add esp, 4
cmp byte [esi], 0
jne 0x438e80
push 6
push str.DELTA
push edi
call dword [sym.imp.MSVCR100.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x438ef0
push str.Delta_values_must_be_preceded_with_a_line_DELTA_n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov edx, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push edx
mov dword [0x443e58], 1
call esi
mov eax, dword [0x448bc8]
push eax
call esi
add esp, 0xc
cmp dword [0x443e58], 0
je 0x438ee8
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
xor ebx, ebx
mov dword [ebp - 0x28], ebx
cmp dword [0x448724], ebx
jle 0x438fb8
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
push ecx
push 0x4000
push esi
call dword [sym.imp.MSVCR100.dll_fgets]
push 0xa
push esi
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 0x14
test eax, eax
je 0x438f3e
mov byte [eax], 0
dec eax
cmp byte [eax], 0
je 0x438f3e
lea ecx, [ecx]
cmp byte [eax], 0x20
jne 0x438f3e
mov byte [eax], 0
dec eax
cmp byte [eax], 0
jne 0x438f30
xor edi, edi
test ebx, ebx
js 0x438fa4
mov al, byte [esi]
cmp al, 0x20
je 0x438f4e
cmp al, 9
jne 0x438f51
inc esi
jmp 0x438f44
lea ecx, [ebp - 0x24]
test al, al
je 0x438f62
inc esi
mov byte [ecx], al
mov al, byte [esi]
inc ecx
cmp al, 0x20
jne 0x438f54
lea edx, [ebp - 0x24]
push edx
mov byte [ecx], 0
call dword [sym.imp.MSVCR100.dll_atof]
mov eax, dword [0x448724]
mov ecx, dword [0x443a38]
mov edx, eax
imul edx, ebx
add edx, edi
add esp, 4
fst qword [ecx + edx*8]
cmp ebx, edi
je 0x438f9b
mov ebx, dword [ebp - 0x28]
mov edx, eax
imul edx, edi
add edx, dword [ebp - 0x28]
fstp qword [ecx + edx*8]
jmp 0x438f9d
fstp st(0)
inc edi
cmp edi, ebx
jle 0x438f44
jmp 0x438fa9
mov eax, dword [0x448724]
inc ebx
mov dword [ebp - 0x28], ebx
cmp ebx, eax
jl 0x438f01
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
push eax
push 0x4000
push edi
call dword [sym.imp.MSVCR100.dll_fgets]
push 0xa
push edi
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 0x14
test eax, eax
je 0x438fef
mov byte [eax], 0
dec eax
cmp byte [eax], 0
je 0x438fef
cmp byte [eax], 0x20
jne 0x438fef
mov byte [eax], 0
dec eax
cmp byte [eax], 0
jne 0x438fe1
cmp byte [edi], 0
mov esi, edi
je 0x439011
mov ebx, dword [sym.imp.MSVCR100.dll_toupper]
lea esp, [esp]
movsx ecx, byte [esi]
push ecx
call ebx
mov byte [esi], al
inc esi
add esp, 4
cmp byte [esi], 0
jne 0x439000
push 6
push str.GAMMA
push edi
call dword [sym.imp.MSVCR100.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x4390a6
push str.gamma_values_must_be_preceded_with_a_line_GAMMA_n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov edx, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push edx
mov dword [0x443e58], 1
call esi
mov eax, dword [0x448bc8]
push eax
call esi
add esp, 0xc
cmp dword [0x443e58], 0
je 0x43909e
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, esi
cmp ecx, 3
jbe 0x439082
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [ebp - 0x30]
xor ebx, ebx
cmp dword [0x463b30], ebx
jle 0x439111
push esi
push 0x4000
push edi
call dword [sym.imp.MSVCR100.dll_fgets]
push esi
call dword [sym.imp.MSVCR100.dll_feof]
add esp, 0x10
test eax, eax
jne 0x439133
push 0xa
push edi
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 8
test eax, eax
je 0x4390f5
mov byte [eax], 0
dec eax
cmp byte [eax], 0
je 0x4390f5
cmp byte [eax], 0x20
jne 0x4390f5
mov byte [eax], 0
dec eax
cmp byte [eax], 0
jne 0x4390e7
push edi
call dword [sym.imp.MSVCR100.dll_atof]
mov edx, dword [0x443944]
fstp qword [edx + ebx*8]
inc ebx
add esp, 4
cmp ebx, dword [0x463b30]
jl 0x4390b3
push edi
call dword [sym.imp.MSVCR100.dll_free]
push esi
call dword [sym.imp.MSVCR100.dll_fclose]
mov ecx, dword [ebp - 4]
add esp, 8
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004391bc
mov esp, ebp
pop ebp
ret
mov eax, dword [0x463b30]
push eax
push 0x448740
push str.There_are_not_enough_lines_in_the_starting_value_file:__s_nThere_should_be__ld_lines_after_the_GAMMA_line._n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call esi
mov edx, dword [0x448bc8]
push edx
call esi
add esp, 0x14
cmp dword [0x443e58], 0
je 0x4391b3
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
cmp eax, 3
jbe 0x439197
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
int3