Function at 0x417a70
Capabilities:
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xac
mov esi, dword [esp + 0xc0]
fld qword [esp + 0xd0]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0xc8]
mov eax, dword [esp + 0xd8]
cmp esi, 2
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x9c], ebp
mov ecx, dword [esp + 0xe0]
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x98], edi
mov ebp, dword [esp + 0xcc]
fstp qword [esp + 0x90]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], ebx
je 0x417d65
cmp esi, 0x64
jle 0x417b50
mov dword [esp + 0xc], esi
mov edx, dword [0x42dc4c]
mov eax, 0x42a7d0
mov dword [esp + 4], eax
mov edi, 0x64
mov esi, 0x64
mov dword [esp + 8], edi
mov dword [esp], edx
call sym._fprintf
lea eax, [esi*4]
mov dword [esp], eax
call sym._mymalloc
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x98]
fldz
cmp eax, ebp
jg 0x417b80
mov edi, dword [esp + 0x84]
fild dword [edi + eax*4]
inc eax
faddp st(1)
jmp 0x417b3d
mov dword [esp], str.Shimodaira_Hasegawa_test_n_n
mov edx, dword [0x42dc4c]
mov ecx, 0x1a
mov dword [esp + 8], ecx
mov ebx, 1
mov dword [esp + 4], ebx
mov dword [esp + 0xc], edx
call sym._fwrite
jmp 0x417b21
xor ebx, ebx
cmp ebx, esi
jge 0x417d1e
lea edi, [esi*8]
fstp qword [esp + 0x30]
mov dword [esp], edi
call sym._mymalloc
fld qword [esp + 0x30]
mov ecx, dword [esp + 0x7c]
mov dword [ecx + ebx*4], eax
inc ebx
cmp ebx, esi
jl 0x417b91
xor ebx, ebx
cmp ebx, esi
jge 0x417d1e
fld1
fdiv st(1)
mov edx, dword [esp + 0x8c]
xor ecx, ecx
cmp ecx, ebx
fld qword [edx + ebx*8]
fmul st(1)
jg 0x417c52
fld1
mov edi, dword [esp + 0x7c]
fdiv st(3)
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x8c]
fldz
fld qword [edx + ecx*8]
mov edx, dword [esp + 0x98]
fmul st(2)
cmp edx, ebp
jg 0x417c30
mov edi, dword [esp + 0x84]
mov eax, dword [edi + edx*4]
test eax, eax
jle 0x417c2b
push eax
fild dword [esp]
add esp, 4
mov edi, dword [esp + 0x88]
mov eax, dword [edi + ebx*4]
fld qword [eax + edx*8]
mov eax, dword [edi + ecx*4]
fsub st(5)
fmulp st(1)
fld qword [eax + edx*8]
fsub st(2)
fmulp st(1)
faddp st(2)
inc edx
cmp edx, ebp
jle 0x417bf9
fstp st(0)
mov edx, dword [esp + 0x20]
cmp ebx, ecx
fst qword [edx + ecx*8]
je 0x4182be
mov eax, dword [esp + 0x7c]
mov edi, dword [eax + ecx*4]
fstp qword [edi + ebx*8]
inc ecx
cmp ecx, ebx
jle 0x417be0
fstp st(0)
fstp st(0)
inc ebx
cmp ebx, esi
jl 0x417bbb
fstp st(0)
fstp st(0)
xor ecx, ecx
cmp ecx, esi
jge 0x417d20
fld qword [0x42a9a8]
fldz
mov edx, ecx
xor eax, eax
dec edx
fld st(0)
js 0x4182da
mov ebp, dword [esp + 0x7c]
mov ebx, dword [ebp + ecx*4]
fld qword [ebx + eax*8]
inc eax
cmp edx, eax
fmul st(0)
faddp st(1)
jge 0x417c88
fld qword [ebx + ecx*8]
fld st(2)
fxch st(1)
fcom st(2)
fnstsw ax
sahf
jbe 0x4182d1
fstp st(1)
fsubrp st(1)
fsqrt
fst qword [ebx + ecx*8]
lea ebp, [ecx + 1]
cmp ebp, esi
mov dword [esp + 0x24], ebp
mov edi, ebp
jge 0x417d0e
fld st(0)
fld st(3)
fxch st(1)
fabs
fld1
xor eax, eax
fld st(4)
cmp eax, ecx
jge 0x4182c5
mov ebp, dword [esp + 0x7c]
mov edx, dword [ebp + edi*4]
fld qword [edx + eax*8]
fmul qword [ebx + eax*8]
inc eax
cmp eax, ecx
faddp st(1)
jl 0x417cda
fxch st(2)
fcom st(3)
fnstsw ax
sahf
jae 0x4182a9
fstp st(2)
mov dword [edx + ecx*8], 0
xor ebp, ebp
mov dword [edx + ecx*8 + 4], ebp
inc edi
cmp edi, esi
jl 0x417cc6
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x24]
cmp ecx, esi
jl 0x417c73
fstp st(0)
fstp st(0)
lea ebx, [esi*8]
mov dword [esp], ebx
call sym._mymalloc
mov dword [esp], ebx
mov ebp, eax
call sym._mymalloc
mov dword [esp + 0x78], eax
mov dword [esp], ebx
call sym._mymalloc
mov edi, eax
xor eax, eax
cmp eax, esi
jge 0x417f96
mov edx, dword [esp + 0x78]
xor ecx, ecx
mov dword [edx + eax*8], 0
mov dword [edx + eax*8 + 4], ecx
inc eax
jmp 0x417d49
mov dword [esp], str.Kishino_Hasegawa_Templeton_test_n_n
mov edx, dword [0x42dc4c]
mov ecx, 0x21
mov dword [esp + 8], ecx
mov ebx, 1
mov edi, 0x25
mov dword [esp + 4], ebx
mov ebx, 1
mov dword [esp + 0xc], edx
call sym._fwrite
mov dword [esp + 8], edi
mov esi, dword [0x42dc4c]
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp], str.Tree____logL____Diff_logL____Its_S.D.
mov dword [esp + 0xc], esi
mov esi, 1
call sym._fwrite
mov dword [esp + 4], ebx
mov edx, dword [0x42dc4c]
mov ecx, 0x19
mov dword [esp + 8], ecx
mov dword [esp], str.___Significantly_worse__n_n
mov dword [esp + 0xc], edx
call sym._fwrite
mov dword [0x42da6c], esi
mov ebx, dword [0x42da6c]
mov edi, str._3ld__9.1f
mov esi, dword [esp + 0x8c]
mov eax, dword [0x42dc4c]
fld qword [esi + ebx*8 - 8]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
fstp qword [esp + 0xc]
call sym._fprintf
mov ebx, dword [0x42da6c]
cmp dword [esp + 0x9c], ebx
je 0x4182e6
mov ecx, dword [esp + 0x98]
fldz
fld st(0)
fld st(1)
cmp ecx, ebp
jg 0x417e88
mov edi, dword [esp + 0x84]
mov eax, dword [edi + ecx*4]
test eax, eax
jle 0x417e81
push eax
fild dword [esp]
add esp, 4
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x9c]
mov edx, dword [eax + ebx*4 - 4]
mov eax, dword [eax + esi*4 - 4]
fadd st(2), st(0)
fld qword [eax + ecx*8]
fsubr qword [edx + ecx*8]
fmul st(1), st(0)
fxch st(4)
fadd st(1)
fxch st(1)
fmulp st(4)
fxch st(1)
faddp st(3)
fxch st(2)
inc ecx
jmp 0x417e37
fxch st(2)
fxch st(2)
inc ecx
jmp 0x417e37
fxch st(2)
fst qword [esp + 0x40]
mov edx, dword [esp + 0x8c]
mov ecx, str._10.1f__11.4f
fld1
fld st(0)
fld st(3)
fsub st(2)
fxch st(1)
fdiv st(4)
fxch st(2)
fdivrp st(1)
fld st(2)
fmulp st(3)
fmulp st(3)
fmulp st(1)
fsubp st(2)
fld qword [esp + 0x90]
fxch st(1)
fmulp st(2)
fxch st(1)
fsqrt
fst qword [esp + 0x10]
fxch st(1)
fsubr qword [edx + ebx*8 - 8]
fxch st(1)
mov ebx, dword [0x42dc4c]
fstp qword [esp + 0x50]
mov dword [esp + 4], ecx
mov dword [esp], ebx
fstp qword [esp + 8]
call sym._fprintf
fld qword [esp + 0x40]
fld qword [esp + 0x50]
fxch st(1)
fcom qword [0x42a9b8]
fnstsw ax
sahf
jae 0x418230
fxch st(1)
fmul qword [0x42a9a0]
fxch st(1)
fchs
fcompp
fnstsw ax
sahf
ja 0x418208
mov dword [esp], str.___________No_n
mov eax, dword [0x42dc4c]
mov edx, 0xe
mov dword [esp + 8], edx
mov ecx, 1
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
call sym._fwrite
mov edi, dword [0x42da6c]
inc edi
cmp edi, 2
mov dword [0x42da6c], edi
jle 0x417de8
mov ecx, dword [0x42dc4c]
mov ebx, 2
mov esi, 1
mov dword [esp + 0xc8], ebx
mov ebp, 0x42a8f2
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xcc], ecx
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
jmp sym._fwrite
mov eax, 0x3e7
mov dword [esp + 0x70], eax
xor ebx, ebx
cmp ebx, esi
jl 0x4181a6
fld qword [ebp + 8]
mov edx, 1
cmp edx, esi
jge 0x417fd6
lea esi, [esi]
lea edi, [edi]
fld qword [ebp + edx*8]
fcom st(1)
fnstsw ax
sahf
jbe 0x418200
fstp st(1)
inc edx
cmp edx, esi
jl 0x417fc0
xor ebx, ebx
cmp ebx, esi
jge 0x418033
mov edx, 0xd2f1a9fc
mov ecx, 0x3f50624d
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
fld qword [esp + 0x28]
lea esi, [esi]
lea edi, [edi]
fld qword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
fld st(2)
fsub qword [ebp + ebx*8]
fxch st(1)
fsub qword [ecx + ebx*8]
fcompp
fnstsw ax
sahf
ja 0x41802c
mov edx, dword [esp + 0x78]
fld qword [edx + ebx*8]
fadd st(1)
fstp qword [edx + ebx*8]
inc ebx
cmp ebx, esi
jl 0x418000
fstp st(0)
fstp st(0)
dec dword [esp + 0x70]
jns 0x417f9f
mov dword [esp], str.Tree____logL____Diff_logL____P_value
mov eax, dword [0x42dc4c]
mov edx, 1
mov dword [esp + 4], edx
mov ebx, 0x24
mov dword [esp + 8], ebx
mov ebx, 1
mov dword [esp + 0xc], eax
call sym._fwrite
mov dword [esp + 4], ebx
mov ecx, dword [0x42dc4c]
mov eax, 0x19
mov dword [esp + 8], eax
xor ebx, ebx
mov dword [esp], str.___Significantly_worse__n_n
mov dword [esp + 0xc], ecx
call sym._fwrite
cmp ebx, esi
jge 0x41815f
mov ecx, dword [esp + 0x9c]
dec ecx
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x8c]
lea ecx, [ebx + 1]
mov eax, str._3ld_10.1f
mov dword [esp + 0x6c], ecx
fld qword [edx + ebx*8]
mov edx, dword [0x42dc4c]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
fstp qword [esp + 0xc]
mov dword [esp], edx
call sym._fprintf
cmp dword [esp + 0x74], ebx
je 0x418267
mov ecx, dword [esp + 0x78]
mov eax, str.__9.1f___10.3f
mov edx, dword [esp + 0x8c]
fld qword [ecx + ebx*8]
mov ecx, dword [0x42dc4c]
fstp qword [esp + 0x10]
fld qword [esp + 0x90]
fsubr qword [edx + ebx*8]
mov dword [esp + 4], eax
mov dword [esp], ecx
fstp qword [esp + 8]
call sym._fprintf
mov edx, dword [esp + 0x78]
fld qword [edx + ebx*8]
fcomp qword [0x42a9b0]
fnstsw ax
sahf
jae 0x418240
mov dword [esp], str.___________Yes_n
mov edx, dword [0x42dc4c]
mov eax, 0xf
mov dword [esp + 8], eax
mov ebx, 1
mov dword [esp + 4], ebx
mov dword [esp + 0xc], edx
call sym._fwrite
mov ebx, dword [esp + 0x6c]
cmp ebx, esi
jl 0x4180a4
mov dword [esp], 0xa
mov ecx, dword [0x42dc4c]
xor ebx, ebx
mov dword [esp + 4], ecx
call sym._fputc
mov edx, dword [esp + 0x78]
mov dword [esp], edx
call sym._free
mov dword [esp], ebp
call sym._free
mov dword [esp], edi
call sym._free
cmp ebx, esi
jge 0x41828f
mov ebp, dword [esp + 0x7c]
mov edi, dword [ebp + ebx*4]
inc ebx
jmp 0x41818b
mov edx, dword [esp + 0x80]
mov dword [esp], edx
call sym._normrand
fstp qword [edi + ebx*8]
inc ebx
cmp ebx, esi
jl 0x4181a6
xor ecx, ecx
cmp ecx, esi
jge 0x417fa9
fldz
lea esi, [esi]
xor eax, eax
fld st(0)
cmp eax, ecx
jg 0x4181ed
mov ebx, dword [esp + 0x7c]
mov edx, dword [ebx + ecx*4]
nop
fld qword [edi + eax*8]
fmul qword [edx + eax*8]
inc eax
cmp eax, ecx
faddp st(1)
jle 0x4181e0
fstp qword [ebp + ecx*8]
inc ecx
cmp ecx, esi
jl 0x4181d0
fstp st(0)
jmp 0x417fa9
fstp st(0)
inc edx
jmp 0x417fd2
mov dword [esp], str.___________Yes_n
mov ebx, dword [0x42dc4c]
mov esi, 0xf
mov dword [esp + 8], esi
mov edi, 1
mov dword [esp + 4], edi
mov dword [esp + 0xc], ebx
jmp 0x417f3b
fstp st(0)
fstp st(0)
jmp 0x417f19
mov dword [esp], str.___________No_n
mov eax, dword [0x42dc4c]
mov ebx, 0xe
mov dword [esp + 8], ebx
mov ecx, 1
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
jmp 0x41814e
mov dword [esp], str.__________best_n
mov ecx, dword [0x42dc4c]
mov eax, 0xf
mov dword [esp + 8], eax
mov ebx, 1
mov dword [esp + 4], ebx
mov dword [esp + 0xc], ecx
jmp 0x41814e
mov esi, dword [esp + 0x7c]
mov dword [esp + 0xc0], esi
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
jmp sym._free
fld qword [edx + ecx*8]
fsubrp st(3)
fld st(1)
fdiv st(5)
fmulp st(3)
fxch st(2)
fstp qword [edx + ecx*8]
jmp 0x417d03
fstp st(0)
jmp 0x417c4b
mov eax, dword [esp + 0x7c]
mov edx, dword [eax + edi*4]
jmp 0x417ce7
fstp st(0)
fstp st(1)
jmp 0x417cac
mov edx, dword [esp + 0x7c]
mov ebx, dword [edx + ecx*4]
jmp 0x417c94
mov dword [esp], str.__________best_n
mov eax, dword [0x42dc4c]
mov edx, 0xf
jmp 0x417f2a