Function at 0x421350
Capabilities:
Delete file
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
mov esi, edx
mov edx, dword [0x468b7c]
mov dword [esp + 0x40], eax
mov eax, dword [0x489aa4]
push str.Do_you_wish_to:_n___Set_all_off_diagonal_elements_to_0___Enter_1._n___Manually_reset_values________________Enter_2._n___Automatic_fixup______________________Enter_3._n___Quit_________________________________Enter_4._n___Your_choice_
push 0x472ac0
mov dword [esp + 0x40], edi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x30], 0
call dword [sym.imp.MSVCR100.dll_sprintf]
lea ecx, [esi - 1]
add esp, 8
cmp ecx, 3
ja 0x4213bd
cmp esi, 2
jne 0x4214d4
call dword [sym.imp.MSVCR100.dll___iob_func]
add eax, 0x20
cmp dword [0x489ad0], eax
je 0x4213ee
mov eax, dword [ebp + 0x18]
dec eax
je 0x4213e0
sub eax, 2
jne 0x4213ee
push str._n_Tau_columns__0__n
jmp 0x4213e5
push str._n_Tau_rows__0__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
test ebx, ebx
jle 0x421460
mov edx, dword [esp + 0x60]
mov dword [esp + 0x20], edx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x58], ebx
mov eax, dword [esp + 0x20]
push eax
push str.__.9s
call dword [sym.imp.MSVCR100.dll_printf]
mov esi, dword [esp + 0x34]
add esp, 8
mov dword [esp + 0x30], ebx
lea ecx, [ecx]
fld qword [esi]
sub esp, 8
fstp qword [esp]
push str._12.5lf
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 0xc
add esi, 8
dec dword [esp + 0x30]
jne 0x421420
push 0xa
call dword [sym.imp.MSVCR100.dll_putchar]
add dword [esp + 0x24], 0xd
lea eax, [ebx*8]
add dword [esp + 0x30], eax
add esp, 4
dec dword [esp + 0x58]
jne 0x421402
push 0xa
call dword [sym.imp.MSVCR100.dll_putchar]
mov esi, dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], eax
jmp 0x421480
push 0x472ac0
push 0x45f65c
call esi
call dword [sym.imp.MSVCR100.dll___iob_func]
push eax
lea ecx, [esp + 0x6c]
push 5
push ecx
call dword [sym.imp.MSVCR100.dll_fgets]
lea edx, [esp + 0x74]
add esp, 0x14
push edx
call dword [sym.imp.MSVCR100.dll_atol]
lea ecx, [eax - 1]
add esp, 4
cmp ecx, 3
ja 0x4214bd
inc dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x30], ecx
cmp ecx, 9
jg 0x4214e9
cmp dword [esp + 0x20], 0
je 0x421480
mov esi, eax
lea eax, [esi - 1]
cmp eax, 3
ja case.default.0x4214e2
fldz
jmp dword [eax*4 + 0x42271c]
push str.Unable_to_get_a_proper_response__n
push 0x45e944
call esi
add esp, 8
cmp dword [0x4a5b3c], 0
je 0x42157a
cmp dword [0x489ad0], 0
je 0x42157a
push str.stdout
push 0x476be0
call dword [sym.imp.MSVCR100.dll__stricmp]
add esp, 8
test eax, eax
je 0x42154c
mov edx, dword [0x489ad0]
push edx
call dword [sym.imp.MSVCR100.dll__ftelli64]
add esp, 4
push edx
push eax
mov eax, dword [0x489ad0]
push eax
call dword [sym.imp.MSVCR100.dll__fileno]
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll__chsize_s]
add esp, 0xc
cmp dword [0x4a5b4c], 0
je 0x42156a
mov ecx, dword [0x489ad0]
push str.__body___html__n
push ecx
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 8
mov edx, dword [0x489ad0]
push edx
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
call fcn.0040a1a0
mov eax, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
inc dword [0x468ff8]
push eax
call esi
mov ecx, dword [0x4899d8]
add esp, 4
push ecx
call esi
mov edx, dword [0x4802bc]
add esp, 4
push edx
call esi
mov eax, dword [0x4802cc]
add esp, 4
push eax
call esi
mov ecx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_free]
add esp, 4
push ecx
call esi
mov edx, dword [0x4899d8]
add esp, 4
push edx
call esi
mov eax, dword [0x4802bc]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802cc]
add esp, 4
push ecx
call esi
add esp, 4
cmp dword [0x468ff8], 0
je 0x4215fc
call fcn.00409900
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
xor edx, edx
mov dword [esp + 0x24], edx
cmp ebx, edx
jle 0x42164c
mov ecx, edi
mov dword [esp + 0x30], edi
xor eax, eax
cmp dword [esp + 0x24], eax
je 0x421624
lea esi, [edx + eax]
fst qword [edi + esi*8]
fst qword [ecx]
lea esi, [ebx*8]
inc eax
add ecx, esi
cmp eax, ebx
jl 0x421616
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
inc eax
add ecx, 8
add edx, ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], ecx
cmp eax, ebx
jl 0x421614
mov edx, dword [esp + 0x44]
fstp st(0)
mov eax, dword [esp + 0x40]
push ebx
push ebx
push edx
push eax
push edi
push ebx
call fcn.00407460
add esp, 0x18
cmp eax, 1
jge 0x4216b7
xor ecx, ecx
test ebx, ebx
jle 0x42168c
fldz
lea esi, [ebx*8 + 8]
mov edx, edi
fcom qword [edx]
fnstsw ax
test ah, 0x41
je 0x4216b5
inc ecx
add edx, esi
cmp ecx, ebx
jl 0x42167a
fstp st(0)
push ebx
push edi
push ebx
call fcn.00405d80
add esp, 0xc
test eax, eax
jne 0x4216b7
push ebx
lea ecx, [esp + 0x34]
push ecx
push edi
push ebx
call fcn.00406410
add esp, 0x10
test eax, eax
jne case.default.0x4214e2
jmp 0x4216b7
fstp st(0)
inc dword [esp + 0x28]
mov esi, dword [sym.imp.MSVCR100.dll_printf]
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], eax
jmp 0x4216d0
push 0x472ac0
push 0x45f65c
call esi
call dword [sym.imp.MSVCR100.dll___iob_func]
push eax
lea edx, [esp + 0x64]
push 5
push edx
call dword [sym.imp.MSVCR100.dll_fgets]
lea eax, [esp + 0x6c]
add esp, 0x14
push eax
call dword [sym.imp.MSVCR100.dll_atol]
lea ecx, [eax - 1]
add esp, 4
cmp ecx, 3
ja 0x42170d
inc dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x30], ecx
cmp ecx, 9
jg 0x421728
cmp dword [esp + 0x20], 0
je 0x4216d0
dec eax
jmp 0x4214d7
push str.Unable_to_get_a_proper_response__n
push 0x45e944
call esi
add esp, 8
cmp dword [0x4a5b3c], 0
je 0x4217b9
cmp dword [0x489ad0], 0
je 0x4217b9
push str.stdout
push 0x476be0
call dword [sym.imp.MSVCR100.dll__stricmp]
add esp, 8
test eax, eax
je 0x42178b
mov edx, dword [0x489ad0]
push edx
call dword [sym.imp.MSVCR100.dll__ftelli64]
add esp, 4
push edx
push eax
mov eax, dword [0x489ad0]
push eax
call dword [sym.imp.MSVCR100.dll__fileno]
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll__chsize_s]
add esp, 0xc
cmp dword [0x4a5b4c], 0
je 0x4217a9
mov ecx, dword [0x489ad0]
push str.__body___html__n
push ecx
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 8
mov edx, dword [0x489ad0]
push edx
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
call fcn.0040a1a0
mov eax, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
inc dword [0x468ff8]
push eax
call esi
mov ecx, dword [0x4899d8]
add esp, 4
push ecx
call esi
mov edx, dword [0x4802bc]
add esp, 4
push edx
call esi
mov eax, dword [0x4802cc]
add esp, 4
push eax
call esi
mov ecx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_free]
add esp, 4
push ecx
call esi
mov edx, dword [0x4899d8]
add esp, 4
push edx
call esi
mov eax, dword [0x4802bc]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802cc]
add esp, 4
push ecx
call esi
add esp, 4
cmp dword [0x468ff8], 0
je 0x42186d
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 0x421851
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
fstp st(0)
xor esi, esi
test ebx, ebx
jle 0x421964
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], edi
lea esp, [esp]
xor edi, edi
test esi, esi
js 0x421947
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], edx
lea ebx, [ebx]
mov eax, dword [esp + 0x28]
fld qword [eax]
sub esp, 8
fstp qword [esp]
push edi
push esi
push str.The_current_value_of_Tau__d__d__is__lf_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 0x14
lea esp, [esp]
push edi
push esi
push str.Reset_Tau__d__d__to__hit_return_to_leave_unchanged_
call dword [sym.imp.MSVCR100.dll_printf]
lea ecx, [esp + 0x74]
add esp, 0xc
push ecx
mov byte [esp + 0x6c], 0
call dword [sym.imp.MSVCR100.dll_gets]
add esp, 4
cmp byte [esp + 0x68], 0
je 0x42192e
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x6c]
push 0x45f79c
push eax
call dword [sym.imp.MSVCR100.dll_sscanf]
add esp, 0xc
test eax, eax
je 0x4218d0
fld qword [esp + 0x48]
mov ecx, dword [esp + 0x28]
fst qword [ecx]
cmp esi, edi
je 0x42192c
mov edx, dword [esp + 0x20]
fstp qword [edx]
jmp 0x42192e
fstp st(0)
add dword [esp + 0x28], 8
lea eax, [ebx*8]
add dword [esp + 0x20], eax
inc edi
cmp edi, esi
jle 0x4218b0
add dword [esp + 0x24], 8
lea eax, [ebx*8]
add dword [esp + 0x2c], eax
inc esi
cmp esi, ebx
jl 0x421890
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push ebx
push ebx
push eax
push ecx
push edi
push ebx
call fcn.00407460
add esp, 0x18
cmp eax, 1
jge 0x421ab2
xor ecx, ecx
test ebx, ebx
jle 0x4219aa
fldz
lea esi, [ebx*8 + 8]
mov edx, edi
fcom qword [edx]
fnstsw ax
test ah, 0x41
je 0x421ab0
inc ecx
add edx, esi
cmp ecx, ebx
jl 0x421994
fstp st(0)
push ebx
push edi
push ebx
call fcn.00405d80
add esp, 0xc
test eax, eax
jne 0x421ab2
push ebx
lea edx, [esp + 0x34]
push edx
push edi
push ebx
call fcn.00406410
add esp, 0x10
test eax, eax
je 0x421ab2
push str.Do_you_want_to_change_the_gammas_
call fcn.00409940
add esp, 4
test eax, eax
je 0x421b15
xor ebx, ebx
cmp dword [0x4a5b40], ebx
jle 0x421b15
mov esi, dword [sym.imp.MSVCR100.dll_printf]
xor edi, edi
mov edx, dword [0x489a84]
push 0xc
lea eax, [edi + edx]
push 0x489b30
push eax
call dword [sym.imp.MSVCR100.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x421a32
mov ecx, dword [0x489a84]
lea edx, [edi + ecx]
push edx
push str._For__s_n
call esi
add esp, 8
mov eax, dword [esp + 0x3c]
mov ecx, dword [0x4a59d8]
fld qword [eax + ebx*8]
sub esp, 8
lea edx, [edi + ecx]
fstp qword [esp]
push edx
push str.The_current_value_of__s_is__lf_n
call esi
add esp, 0x10
push str.Reset_gamma_to__hit_return_to_leave_unchanged_
call esi
lea eax, [esp + 0x6c]
add esp, 4
push eax
mov byte [esp + 0x6c], 0
call dword [sym.imp.MSVCR100.dll_gets]
add esp, 4
cmp byte [esp + 0x68], 0
je 0x421a9e
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x6c]
push 0x45f79c
push edx
call dword [sym.imp.MSVCR100.dll_sscanf]
add esp, 0xc
test eax, eax
je 0x421a53
fld qword [esp + 0x48]
mov eax, dword [esp + 0x3c]
fstp qword [eax + ebx*8]
inc ebx
sub edi, 0xffffff80
cmp ebx, dword [0x4a5b40]
jl 0x421a00
jmp 0x421b1b
fstp st(0)
xor esi, esi
mov dword [esp + 0x20], esi
jmp 0x421ac0
push 0x472ac0
push 0x45f65c
call dword [sym.imp.MSVCR100.dll_printf]
call dword [sym.imp.MSVCR100.dll___iob_func]
push eax
lea eax, [esp + 0x6c]
push 5
push eax
call dword [sym.imp.MSVCR100.dll_fgets]
lea ecx, [esp + 0x74]
add esp, 0x14
push ecx
call dword [sym.imp.MSVCR100.dll_atol]
dec eax
add esp, 4
cmp eax, 3
ja 0x421aff
inc dword [esp + 0x20]
inc esi
cmp esi, 9
jg 0x421baf
cmp dword [esp + 0x20], 0
je 0x421ac0
jmp 0x421877
mov esi, dword [sym.imp.MSVCR100.dll_printf]
fld qword [0x468c58]
sub esp, 8
fstp qword [esp]
push str.Sigma_0__squared___lf_n
call esi
add esp, 0xc
push str.Would_you_like_to_change_it_
call fcn.00409940
add esp, 4
test eax, eax
je case.default.0x4214e2
push str.Enter_new_value_for_sigma
call esi
lea ecx, [esp + 0x6c]
add esp, 4
push ecx
mov byte [esp + 0x6c], 0
call dword [sym.imp.MSVCR100.dll_gets]
add esp, 4
cmp byte [esp + 0x68], 0
je case.default.0x4214e2
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x6c]
push 0x45f79c
push eax
call dword [sym.imp.MSVCR100.dll_sscanf]
fld qword [esp + 0x54]
add esp, 4
fst qword [0x468c58]
fstp qword [esp]
push str.New_sigma_0__squared___lf_n
call esi
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.0045d089
mov esp, ebp
pop ebp
ret
push str.Unable_to_get_a_proper_response__n
push 0x45e944
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
cmp dword [0x4a5b3c], 0
je 0x421c44
cmp dword [0x489ad0], 0
je 0x421c44
push str.stdout
push 0x476be0
call dword [sym.imp.MSVCR100.dll__stricmp]
add esp, 8
test eax, eax
je 0x421c17
mov ecx, dword [0x489ad0]
push ecx
call dword [sym.imp.MSVCR100.dll__ftelli64]
add esp, 4
push edx
mov edx, dword [0x489ad0]
push eax
push edx
call dword [sym.imp.MSVCR100.dll__fileno]
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll__chsize_s]
add esp, 0xc
cmp dword [0x4a5b4c], 0
je 0x421c34
mov eax, dword [0x489ad0]
push str.__body___html__n
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 8
mov ecx, dword [0x489ad0]
push ecx
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
call fcn.0040a1a0
mov edx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
inc dword [0x468ff8]
push edx
call esi
mov eax, dword [0x4899d8]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802bc]
add esp, 4
push ecx
call esi
mov edx, dword [0x4802cc]
add esp, 4
push edx
call esi
mov eax, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_free]
add esp, 4
push eax
call esi
mov ecx, dword [0x4899d8]
add esp, 4
push ecx
call esi
mov edx, dword [0x4802bc]
add esp, 4
push edx
call esi
mov eax, dword [0x4802cc]
add esp, 4
push eax
call esi
add esp, 4
cmp dword [0x468ff8], 0
je 0x421cfc
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
lea esp, [esp]
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 0x421ce0
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
mov edx, dword [esp + 0x28]
inc edx
cmp edx, 0x64
jle 0x421e5c
mov eax, dword [0x489ad0]
fstp st(0)
mov esi, dword [sym.imp.MSVCR100.dll_fprintf]
push str.Unable_to_generate_a_good
push eax
call esi
mov eax, dword [ebp + 0x18]
add esp, 8
dec eax
je 0x421d43
sub eax, 2
jne 0x421d54
mov ecx, dword [0x489ad0]
push str.delta_n
push ecx
jmp 0x421d4f
mov edx, dword [0x489ad0]
push str.tau__n
push edx
call esi
add esp, 8
cmp dword [0x4a5b3c], 0
je 0x421dd1
cmp dword [0x489ad0], 0
je 0x421dd1
push str.stdout
push 0x476be0
call dword [sym.imp.MSVCR100.dll__stricmp]
add esp, 8
test eax, eax
je 0x421da8
mov eax, dword [0x489ad0]
push eax
call dword [sym.imp.MSVCR100.dll__ftelli64]
mov ecx, dword [0x489ad0]
add esp, 4
push edx
push eax
push ecx
call dword [sym.imp.MSVCR100.dll__fileno]
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll__chsize_s]
add esp, 0xc
cmp dword [0x4a5b4c], 0
je 0x421dc2
mov edx, dword [0x489ad0]
push str.__body___html__n
push edx
call esi
add esp, 8
mov eax, dword [0x489ad0]
push eax
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
call fcn.0040a1a0
mov ecx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
inc dword [0x468ff8]
push ecx
call esi
mov edx, dword [0x4899d8]
add esp, 4
push edx
call esi
mov eax, dword [0x4802bc]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802cc]
add esp, 4
push ecx
call esi
mov edx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_free]
add esp, 4
push edx
call esi
mov eax, dword [0x4899d8]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802bc]
add esp, 4
push ecx
call esi
mov edx, dword [0x4802cc]
add esp, 4
push edx
call esi
add esp, 4
cmp dword [0x468ff8], 0
je 0x421e54
call fcn.00409900
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
fld qword [0x466d60]
xor ecx, ecx
test ebx, ebx
jle 0x422128
lea esi, [ebx*8 + 8]
mov edx, edi
jmp 0x421e79
fxch st(1)
fxch st(1)
fcom qword [edx]
fnstsw ax
test ah, 0x41
je 0x42200f
inc ecx
add edx, esi
cmp ecx, ebx
jl 0x421e77
fstp st(0)
push ebx
fstp st(0)
push edi
push ebx
mov dword [esp + 0x48], 0
call fcn.00405d80
add esp, 0xc
test eax, eax
je 0x421fcd
mov edi, edi
mov eax, dword [esp + 0x3c]
mov ecx, eax
inc eax
mov dword [esp + 0x3c], eax
cmp ecx, 0x32
jge 0x421fcd
mov dword [esp + 0x24], 0
test ebx, ebx
jle 0x421fb2
mov eax, dword [esp + 0x38]
lea edx, [ebx*8 + 8]
mov dword [esp + 0x60], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x24], 0
mov eax, dword [esp + 0x20]
fld qword [eax]
fstp qword [esp + 0x48]
jl 0x421f89
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
inc edx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x30], edx
fldz
fcom qword [esi]
fnstsw ax
fld qword [esi]
test ah, 0x41
jne 0x421f2c
fchs
mov eax, dword [esp + 0x58]
fstp qword [esp + 0x50]
fld qword [esp + 0x48]
fmul qword [eax]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x421f47
fchs
call sub.MSVCR100.dll__CIsqrt
fdivr qword [esp + 0x50]
fcomp qword [0x466ce8]
fnstsw ax
test ah, 1
jne 0x421f6f
fld qword [esi]
fld qword [0x466e60]
fmul st(1), st(0)
fxch st(1)
fstp qword [esi]
fmul qword [edi]
fstp qword [edi]
mov ecx, dword [esp + 0x60]
add dword [esp + 0x58], ecx
lea eax, [ebx*8]
add esi, 8
add edi, eax
dec dword [esp + 0x30]
jne 0x421f1d
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x60]
add dword [esp + 0x20], edx
add dword [esp + 0x28], 8
inc eax
lea ecx, [ebx*8]
add dword [esp + 0x2c], ecx
mov dword [esp + 0x24], eax
cmp eax, ebx
jl 0x421eef
mov eax, dword [esp + 0x38]
push ebx
push eax
push ebx
call fcn.00405d80
mov edi, dword [esp + 0x44]
add esp, 0xc
test eax, eax
jne 0x421eb0
cmp dword [0x4804ec], 0
je 0x42212f
cmp dword [ebp + 0x18], 1
jne 0x42212f
xor ecx, ecx
test ebx, ebx
jle 0x42212f
fldz
xor edx, edx
xor eax, eax
cmp ecx, eax
je 0x421ffe
lea esi, [edx + eax]
fst qword [edi + esi*8]
inc eax
cmp eax, ebx
jl 0x421ff4
inc ecx
add edx, ebx
cmp ecx, ebx
jl 0x421ff2
jmp 0x422131
mov dword [esp + 0x24], 0
cmp ebx, 4
jl 0x4220e1
lea eax, [ebx + ebx*2 + 3]
lea edx, [edi + eax*8]
lea eax, [edi + ebx*8 + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x14]
sub eax, edi
mov dword [esp + 0x28], eax
lea eax, [ebx - 4]
shr eax, 2
mov dword [esp + 0x20], edx
inc eax
lea edx, [ebx + 1]
shl edx, 4
mov dword [esp + 0x3c], eax
lea ecx, [ebx + 1]
add eax, eax
shl ecx, 5
add edx, edi
mov esi, edi
add eax, eax
mov dword [esp + 0x58], esi
mov dword [esp + 0x24], eax
fcom qword [esi]
fnstsw ax
test ah, 1
jne 0x422077
mov eax, dword [esp + 0x28]
fld qword [eax + esi]
fmul st(2)
fstp qword [esi]
mov eax, dword [esp + 0x2c]
fcom qword [eax]
fnstsw ax
test ah, 1
jne 0x422097
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
fld qword [esi + eax]
mov esi, dword [esp + 0x58]
fmul st(2)
fstp qword [eax]
fcom qword [edx]
fnstsw ax
test ah, 1
jne 0x4220ab
mov eax, dword [esp + 0x28]
fld qword [eax + edx]
fmul st(2)
fstp qword [edx]
mov eax, dword [esp + 0x20]
fcom qword [eax]
fnstsw ax
test ah, 1
jne 0x4220cb
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
fld qword [esi + eax]
mov esi, dword [esp + 0x58]
fmul st(2)
fstp qword [eax]
add dword [esp + 0x2c], ecx
add dword [esp + 0x20], ecx
add esi, ecx
add edx, ecx
dec dword [esp + 0x3c]
mov dword [esp + 0x58], esi
jne 0x422063
cmp dword [esp + 0x24], ebx
jge 0x421e8f
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 0x14]
lea esi, [ebx*8 + 8]
mov ecx, esi
imul ecx, eax
sub edx, edi
mov dword [esp + 0x28], edx
mov edx, ebx
add ecx, edi
sub edx, eax
fcom qword [ecx]
fnstsw ax
test ah, 1
jne 0x42211e
mov eax, dword [esp + 0x28]
fld qword [eax + ecx]
fmul st(2)
fstp qword [ecx]
add ecx, esi
dec edx
jne 0x42210a
jmp 0x421e8f
fstp st(1)
jmp 0x421e91
fldz
cmp dword [0x4804f4], 0
je 0x422160
cmp dword [ebp + 0x18], 3
jne 0x422160
xor ecx, ecx
test ebx, ebx
jle 0x422160
xor edx, edx
xor eax, eax
cmp ecx, eax
je 0x422154
lea esi, [eax + edx]
fst qword [edi + esi*8]
inc eax
cmp eax, ebx
jl 0x42214a
inc ecx
add edx, ebx
cmp ecx, ebx
jl 0x422148
mov ecx, dword [esp + 0x44]
fstp st(0)
mov edx, dword [esp + 0x40]
push ebx
push ebx
push ecx
push edx
push edi
push ebx
call fcn.00407460
add esp, 0x18
test eax, eax
jne 0x4221c6
xor ecx, ecx
test ebx, ebx
jle 0x42219f
fldz
lea esi, [ebx*8 + 8]
mov edx, edi
fcom qword [edx]
fnstsw ax
test ah, 0x41
je 0x4221c8
inc ecx
add edx, esi
cmp ecx, ebx
jl 0x42218d
fstp st(0)
push ebx
push edi
push ebx
call fcn.00405d80
add esp, 0xc
test eax, eax
jne 0x4221c6
push ebx
lea eax, [esp + 0x34]
push eax
push edi
push ebx
call fcn.00406410
add esp, 0x10
test eax, eax
jne 0x422372
fldz
xor eax, eax
cmp ebx, eax
jle 0x422374
fld qword [0x466d60]
lea ecx, [edi + ebx*8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], ecx
xor ecx, ecx
test eax, eax
js 0x422354
lea edx, [eax + 1]
cmp edx, 4
jl 0x422302
mov edx, ebx
shl edx, 5
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x58], edx
lea edx, [eax + ebx*2]
add edx, ebx
lea edx, [edi + edx*8]
mov dword [esp + 0x38], edx
lea edx, [eax + ebx*2]
lea edx, [edi + edx*8]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x20], edx
cmp ecx, eax
je 0x422246
mov edx, dword [esp + 0x24]
fxch st(1)
add edx, ecx
fst qword [edi + edx*8]
mov edx, dword [esp + 0x58]
fst qword [edx]
mov edx, dword [ebp + 0x14]
jmp 0x42225d
mov edx, dword [ebp + 0x14]
lea esi, [ebx*8 + 8]
imul esi, eax
fld qword [esi + edx]
fmul st(1)
fstp qword [edi + esi]
fxch st(1)
lea esi, [ecx + 1]
cmp esi, eax
je 0x422276
mov esi, dword [esp + 0x24]
add esi, ecx
fst qword [edi + esi*8 + 8]
mov esi, dword [esp + 0x20]
fst qword [esi]
jmp 0x422288
lea esi, [ebx*8 + 8]
imul esi, eax
fld qword [esi + edx]
fmul st(2)
fstp qword [edi + esi]
lea esi, [ecx + 2]
cmp esi, eax
je 0x4222a1
mov esi, dword [esp + 0x24]
add esi, ecx
fst qword [edi + esi*8 + 0x10]
mov esi, dword [esp + 0x2c]
fst qword [esi]
jmp 0x4222b3
lea esi, [ebx*8 + 8]
imul esi, eax
fld qword [esi + edx]
fmul st(2)
fstp qword [edi + esi]
lea esi, [ecx + 3]
cmp esi, eax
je 0x4222cc
mov edx, dword [esp + 0x24]
add edx, ecx
fst qword [edi + edx*8 + 0x18]
mov edx, dword [esp + 0x38]
fst qword [edx]
jmp 0x4222de
lea esi, [ebx*8 + 8]
imul esi, eax
fld qword [esi + edx]
fmul st(2)
fstp qword [edi + esi]
mov edx, dword [esp + 0x60]
fxch st(1)
add dword [esp + 0x58], edx
add dword [esp + 0x20], edx
add dword [esp + 0x2c], edx
add dword [esp + 0x38], edx
add ecx, 4
lea edx, [eax - 3]
cmp ecx, edx
jle 0x42222c
cmp ecx, eax
jg 0x422354
mov edx, ebx
imul edx, ecx
add edx, eax
lea edx, [edi + edx*8]
mov dword [esp + 0x58], edx
cmp ecx, eax
je 0x42232b
mov edx, dword [esp + 0x24]
fxch st(1)
add edx, ecx
fst qword [edi + edx*8]
mov edx, dword [esp + 0x58]
fst qword [edx]
jmp 0x422342
mov esi, dword [ebp + 0x14]
lea edx, [ebx*8 + 8]
imul edx, eax
fld qword [edx + esi]
fmul st(1)
fstp qword [edi + edx]
fxch st(1)
lea edx, [ebx*8]
fxch st(1)
add dword [esp + 0x58], edx
inc ecx
cmp ecx, eax
jle 0x422316
add dword [esp + 0x24], ebx
mov ecx, 8
add dword [esp + 0x28], ecx
add dword [esp + 0x30], ecx
inc eax
cmp eax, ebx
jl 0x4221e7
fstp st(0)
jmp 0x422374
fldz
cmp dword [0x4804ec], 0
je 0x4223a3
cmp dword [ebp + 0x18], 1
jne 0x4223a3
xor ecx, ecx
test ebx, ebx
jle 0x4223a3
xor edx, edx
xor eax, eax
cmp ecx, eax
je 0x422397
lea esi, [eax + edx]
fst qword [edi + esi*8]
inc eax
cmp eax, ebx
jl 0x42238d
inc ecx
add edx, ebx
cmp ecx, ebx
jl 0x42238b
cmp dword [0x4804f4], 0
je 0x4223d2
cmp dword [ebp + 0x18], 3
jne 0x4223d2
xor ecx, ecx
test ebx, ebx
jle 0x4223d2
xor edx, edx
xor eax, eax
cmp ecx, eax
je 0x4223c6
lea esi, [eax + edx]
fst qword [edi + esi*8]
inc eax
cmp eax, ebx
jl 0x4223bc
inc ecx
add edx, ebx
cmp ecx, ebx
jl 0x4223ba
mov eax, dword [esp + 0x44]
fstp st(0)
mov ecx, dword [esp + 0x40]
push ebx
push ebx
push eax
push ecx
push edi
push ebx
call fcn.00407460
add esp, 0x18
test eax, eax
jne 0x42243c
xor ecx, ecx
test ebx, ebx
jle 0x422411
fldz
lea esi, [ebx*8 + 8]
mov edx, edi
fcom qword [edx]
fnstsw ax
test ah, 0x41
je 0x42243a
inc ecx
add edx, esi
cmp ecx, ebx
jl 0x4223ff
fstp st(0)
push ebx
push edi
push ebx
call fcn.00405d80
add esp, 0xc
test eax, eax
jne 0x42243c
push ebx
lea edx, [esp + 0x34]
push edx
push edi
push ebx
call fcn.00406410
add esp, 0x10
test eax, eax
jne case.default.0x4214e2
jmp 0x42243c
fstp st(0)
mov eax, dword [0x489ad0]
mov esi, dword [sym.imp.MSVCR100.dll_fprintf]
push str.Unable_to_generate_a_good
push eax
call esi
mov eax, dword [ebp + 0x18]
add esp, 8
dec eax
je 0x42246b
sub eax, 2
jne 0x42247c
mov ecx, dword [0x489ad0]
push str.delta_n
push ecx
jmp 0x422477
mov edx, dword [0x489ad0]
push str.tau__n
push edx
call esi
add esp, 8
cmp dword [0x4a5b3c], 0
je 0x4224f9
cmp dword [0x489ad0], 0
je 0x4224f9
push str.stdout
push 0x476be0
call dword [sym.imp.MSVCR100.dll__stricmp]
add esp, 8
test eax, eax
je 0x4224d0
mov eax, dword [0x489ad0]
push eax
call dword [sym.imp.MSVCR100.dll__ftelli64]
mov ecx, dword [0x489ad0]
add esp, 4
push edx
push eax
push ecx
call dword [sym.imp.MSVCR100.dll__fileno]
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll__chsize_s]
add esp, 0xc
cmp dword [0x4a5b4c], 0
je 0x4224ea
mov edx, dword [0x489ad0]
push str.__body___html__n
push edx
call esi
add esp, 8
mov eax, dword [0x489ad0]
push eax
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
call fcn.0040a1a0
mov ecx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
inc dword [0x468ff8]
push ecx
call esi
mov edx, dword [0x4899d8]
add esp, 4
push edx
call esi
mov eax, dword [0x4802bc]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802cc]
add esp, 4
push ecx
call esi
mov edx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_free]
add esp, 4
push edx
call esi
mov eax, dword [0x4899d8]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802bc]
add esp, 4
push ecx
call esi
mov edx, dword [0x4802cc]
add esp, 4
push edx
call esi
add esp, 4
cmp dword [0x468ff8], 0
je 0x4225ae
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 0x422592
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
mov ecx, dword [0x489ad0]
fstp st(0)
mov esi, dword [sym.imp.MSVCR100.dll_fprintf]
push str.fixtau_set_to_4__so_no_correction_to_tau_made._Unable_to_continue._n
push ecx
call esi
add esp, 8
cmp dword [0x4a5b3c], 0
je 0x42264d
cmp dword [0x489ad0], 0
je 0x42264d
push str.stdout
push 0x476be0
call dword [sym.imp.MSVCR100.dll__stricmp]
add esp, 8
test eax, eax
je 0x422623
mov edx, dword [0x489ad0]
push edx
call dword [sym.imp.MSVCR100.dll__ftelli64]
add esp, 4
push edx
push eax
mov eax, dword [0x489ad0]
push eax
call dword [sym.imp.MSVCR100.dll__fileno]
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll__chsize_s]
add esp, 0xc
cmp dword [0x4a5b4c], 0
je 0x42263d
mov ecx, dword [0x489ad0]
push str.__body___html__n
push ecx
call esi
add esp, 8
mov edx, dword [0x489ad0]
push edx
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
call fcn.0040a1a0
mov eax, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
inc dword [0x468ff8]
push eax
call esi
mov ecx, dword [0x4899d8]
add esp, 4
push ecx
call esi
mov edx, dword [0x4802bc]
add esp, 4
push edx
call esi
mov eax, dword [0x4802cc]
add esp, 4
push eax
call esi
mov ecx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_free]
add esp, 4
push ecx
call esi
mov edx, dword [0x4899d8]
add esp, 4
push edx
call esi
mov eax, dword [0x4802bc]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802cc]
add esp, 4
push ecx
call esi
add esp, 4
cmp dword [0x468ff8], 0
je 0x422701
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 0x4226e5
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0045d089
mov esp, ebp
pop ebp
ret