Function at 0x41ef77
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
push eax
mov eax, 0x20a8
call fcn.004288a8
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2080], eax
mov dword [ebp - 0x2084], edx
mov dword [ebp - 0x2088], ecx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xf0], 3
cmp dword [0x43c608], 2
jle 0x41efd4
mov dword [esp + 8], str.Entering_pf_sub__.
mov dword [esp + 4], 0x42f844
mov eax, dword [0x43cce0]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov eax, dword [0x433510]
mov dword [ebp - 0x205c], eax
mov eax, dword [ebp - 0x2088]
shl eax, 4
add eax, dword [ebp - 0x2080]
mov dword [ebp - 0x207c], eax
lea eax, [ebp - 0xf0]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x18]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x14]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x2038]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x1c]
mov dword [esp + 8], eax
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x207c]
mov dword [esp], eax
call fcn.0041a8eb
cmp dword [ebp - 0x1c], 0
je 0x41fa76
mov dword [esp + 8], 0xd0
mov dword [esp + 4], 0x43cb40
lea eax, [ebp - 0xec]
mov dword [esp], eax
call sub.cygwin1.dll_memmove
mov dword [esp], 0x43cb40
call sub.cygwin1.dll_setjmp
mov dword [ebp - 0x2054], eax
test eax, eax
je 0x41f608
mov edx, dword [ebp - 0x205c]
mov dword [0x433510], edx
mov dword [esp + 8], 0xd0
lea eax, [ebp - 0xec]
mov dword [esp + 4], eax
mov dword [esp], 0x43cb40
call sub.cygwin1.dll_memmove
cmp dword [ebp - 0x2054], 0xd
jne 0x41fa76
mov dword [esp + 4], 0xd
mov dword [esp], 0x43cb40
call sub.cygwin1.dll_longjmp
mov eax, dword [ebp - 0x2088]
mov dword [ebp - 0x206c], eax
mov dword [ebp - 0x2068], eax
mov dword [ebp - 0x2078], 0
mov dword [ebp - 0x2070], 0
mov dword [ebp - 0x204c], 0
mov dword [ebp - 0x2064], 1
mov edx, dword [ebp - 0x206c]
shl edx, 4
mov dword [ebp - 0x2050], edx
mov eax, dword [ebp + 8]
shl eax, 4
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2080]
add eax, edx
mov dword [esp + 4], eax
mov eax, dword [0x43cb18]
mov dword [esp], eax
call sub.cygwin1.dll_memmove
mov eax, dword [ebp + 8]
mov dword [0x43c5ec], eax
mov dword [0x433510], 0
mov dword [esp + 4], 0x43c5ec
mov eax, dword [0x43cb18]
mov dword [esp], eax
call fcn.0041a5ee
mov edx, dword [ebp - 0x205c]
mov dword [0x433510], edx
mov eax, dword [0x43c5ec]
mov dword [esp + 4], eax
mov eax, dword [0x43cb18]
mov dword [esp], eax
call fcn.00401e84
cmp eax, 1
jle 0x41f919
mov ebx, dword [0x43c5ec]
mov esi, dword [0x43cb18]
mov edx, dword [ebp - 0x2054]
mov ecx, 0xffffffff
mov edi, 0
mov dword [ebp - 0x2074], 0
mov dword [ebp - 0x2060], 0
mov dword [ebp - 0x208c], edx
jmp 0x41f1f0
mov eax, edx
shl eax, 4
lea eax, [esi + eax]
cmp dword [eax], 1
jne 0x41f1e2
mov eax, dword [eax + 8]
cmp eax, dword [ebp - 0x2074]
jle 0x41f1e2
cmp ecx, 0xffffffff
je 0x41f1e6
cmp ecx, eax
jg 0x41f1e6
cmp ecx, eax
jne 0x41f1e2
add edi, 1
mov eax, ecx
nop
jmp 0x41f1eb
mov eax, ecx
jmp 0x41f1eb
mov edi, 1
add edx, 2
mov ecx, eax
cmp edx, ebx
jl 0x41f1b5
cmp ecx, 0xffffffff
je 0x41f235
mov eax, dword [ebp - 0x2060]
mov dword [ebp + eax*8 - 0x2030], ecx
mov dword [ebp + eax*8 - 0x202c], edi
add eax, 1
mov dword [ebp - 0x2060], eax
cmp eax, 0x3e7
jg 0x41f235
mov edx, dword [ebp - 0x208c]
mov dword [ebp - 0x2074], ecx
mov eax, 0xffffffff
mov edi, 0
jmp 0x41f1ee
mov edx, dword [ebp - 0x2080]
add edx, dword [ebp - 0x2050]
mov dword [ebp - 0x2048], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov eax, dword [ebp + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 3
call fcn.00426c13
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov eax, dword [0x43c5ec]
mov dword [esp + 8], eax
mov eax, dword [0x43cb18]
mov dword [esp + 4], eax
mov dword [esp], 3
call fcn.00426c13
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x41f2d0
mov dword [esp + 0xc], 1
mov dword [esp + 8], eax
mov eax, dword [0x43c5ec]
mov dword [esp + 4], eax
mov eax, dword [0x43cb18]
mov dword [esp], eax
call fcn.0041aef8
test eax, eax
jne 0x41f2d0
mov dword [ebp - 0x1c], 0
cmp dword [ebp - 0x2060], 0
jle 0x41f919
mov ebx, dword [ebp - 0x2054]
mov edi, 0xffffffff
mov dword [ebp - 0x2058], ebx
mov esi, dword [ebp + ebx*8 - 0x2030]
mov eax, esi
and eax, 0x3fff
cmp eax, 4
jle 0x41f350
cmp dword [ebp - 0x1c], 0
jne 0x41f330
mov dword [esp + 0xc], 1
mov dword [esp + 8], esi
mov eax, dword [0x43c5ec]
mov dword [esp + 4], eax
mov eax, dword [0x43cb18]
mov dword [esp], eax
call fcn.0041aef8
test eax, eax
je 0x41f330
mov dword [ebp - 0x1c], esi
test edi, edi
js 0x41f343
mov edx, dword [ebp - 0x2058]
cmp dword [ebp + edx*8 - 0x202c], edi
jge 0x41f350
mov eax, dword [ebp - 0x2058]
mov edi, dword [ebp + eax*8 - 0x202c]
add ebx, 1
cmp dword [ebp - 0x2060], ebx
jg 0x41f2e8
cmp edi, 1
jle 0x41f919
cmp dword [ebp - 0x1c], 0
je 0x41f919
mov eax, dword [0x43c5ec]
shl eax, 4
mov dword [esp + 8], eax
mov eax, dword [0x43cb18]
mov dword [esp + 4], eax
mov eax, dword [0x43c820]
mov dword [esp], eax
call sub.cygwin1.dll_memmove
mov eax, dword [0x43c5ec]
mov dword [0x43ccd4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x43ccd4
mov eax, dword [0x43c820]
mov dword [esp], eax
call fcn.00420acb
test eax, eax
je 0x41f919
cmp dword [0x43c608], 2
jle 0x41f3f7
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call fcn.00425022
mov dword [esp + 8], 0x43cc20
mov dword [esp + 4], str.Differentiation_successful_using_variable___s_._n
mov eax, dword [0x43cce0]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov dword [esp + 4], 0x43ccd4
mov eax, dword [0x43c820]
mov dword [esp], eax
call fcn.00414086
mov ecx, dword [0x43ccd4]
lea edx, [ecx + 2]
cmp dword [0x42a020], 0x7530
mov eax, 0x7530
cmovle eax, dword [0x42a020]
cmp edx, eax
jg 0x41f62a
test ecx, ecx
jle 0x41f459
mov edx, dword [ebp - 0x2054]
mov eax, edx
shl eax, 4
add eax, dword [0x43c820]
add dword [eax + 4], 1
add edx, 1
mov ecx, dword [0x43ccd4]
cmp ecx, edx
jg 0x41f43d
mov edx, ecx
shl edx, 4
mov eax, dword [0x43c820]
mov dword [edx + eax], 2
mov eax, dword [0x43ccd4]
shl eax, 4
mov edx, dword [0x43c820]
mov dword [eax + edx + 4], 1
mov eax, dword [0x43ccd4]
shl eax, 4
mov edx, dword [0x43c820]
mov dword [eax + edx + 8], 3
mov eax, dword [0x43ccd4]
add eax, 1
mov dword [0x43ccd4], eax
shl eax, 4
mov edx, dword [0x43c820]
mov dword [eax + edx], 1
mov eax, dword [0x43ccd4]
shl eax, 4
mov edx, dword [0x43c820]
mov dword [eax + edx + 4], 1
mov eax, dword [0x43ccd4]
shl eax, 4
mov ecx, dword [ebp - 0x1c]
mov edx, dword [0x43c820]
mov dword [eax + edx + 8], ecx
add dword [0x43ccd4], 1
mov dword [esp + 4], 0x43ccd4
mov eax, dword [0x43c820]
mov dword [esp], eax
call fcn.0041a5ee
mov eax, dword [ebp - 0x1c]
mov dword [esp + 0x10], eax
mov eax, dword [0x43ccd4]
mov dword [esp + 0xc], eax
mov eax, dword [0x43c820]
mov dword [esp + 8], eax
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x2048]
mov dword [esp], eax
call fcn.0041ed2f
test eax, eax
je 0x41f62a
mov eax, dword [0x43ccd4]
mov dword [esp + 4], eax
mov eax, dword [0x43c820]
mov dword [esp], eax
call fcn.00401e84
test eax, eax
je 0x41f62a
mov edx, dword [ebp + 0xc]
mov dword [esp + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov ecx, dword [ebp - 0x206c]
mov edx, dword [ebp - 0x2084]
mov eax, dword [ebp - 0x2080]
call fcn.0041cbc5
mov eax, dword [0x43ccd4]
mov edx, dword [ebp - 0x206c]
lea edx, [eax + edx + 1]
mov dword [ebp - 0x206c], edx
mov edx, dword [0x43c5ec]
mov dword [ebp + 8], edx
cmp dword [ebp - 0x2064], 1
je 0x41f5a9
cmp dword [ebp - 0x2064], 2
cmovne eax, dword [ebp - 0x204c]
jmp 0x41f5ec
cmp dword [0x43c608], 0
jle 0x41f5cf
mov dword [esp + 8], str.Polynomial_with_repeated_factor_factored.
mov dword [esp + 4], 0x42f844
mov eax, dword [0x43cce0]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov eax, dword [0x43ccd4]
mov dword [ebp - 0x2070], eax
mov edx, dword [ebp - 0x206c]
mov dword [ebp - 0x2068], edx
mov eax, dword [ebp - 0x204c]
add dword [ebp - 0x2064], 1
mov dword [ebp - 0x2078], 1
mov dword [ebp - 0x204c], eax
jmp 0x41f0f9
mov eax, dword [ebp - 0x2088]
mov dword [ebp - 0x206c], eax
mov dword [ebp - 0x2078], 0
cmp dword [ebp + 0x10], 0
jne 0x41f0bf
jmp 0x41f637
cmp dword [ebp - 0x2078], 0
jne 0x41fa86
mov edx, dword [ebp + 8]
shl edx, 4
mov dword [ebp - 0x2044], edx
mov eax, dword [ebp - 0x206c]
shl eax, 4
mov edi, dword [ebp - 0x2080]
add edi, eax
mov esi, 0
mov eax, dword [ebp - 0x2044]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x207c]
mov dword [esp + 4], edx
mov eax, dword [0x43cb18]
mov dword [esp], eax
call sub.cygwin1.dll_memmove
mov eax, dword [ebp + 8]
mov dword [0x43c5ec], eax
mov dword [esp + 4], 0x43c5ec
mov eax, dword [0x43cb18]
mov dword [esp], eax
call fcn.0041a5ee
mov dword [ebp - 0x1c], 0xffffffff
cmp dword [ebp + 8], 0
jle 0x41faa9
jmp 0x41f6b1
mov dword [ebp - 0x1c], 0xffffffff
mov eax, dword [ebp - 0x207c]
mov edx, dword [ebp - 0x2054]
cmp dword [eax], 1
jne 0x41f6d8
mov ecx, dword [eax + 8]
cmp esi, ecx
jge 0x41f6d8
mov ebx, dword [ebp - 0x1c]
cmp ebx, 0xffffffff
je 0x41f6d5
cmp ecx, ebx
jge 0x41f6d8
mov dword [ebp - 0x1c], ecx
add edx, 2
add eax, 0x20
cmp edx, dword [ebp + 8]
jl 0x41f6bd
mov esi, dword [ebp - 0x1c]
cmp esi, 0xffffffff
je 0x41faa9
lea edx, [ebp - 0xf0]
mov dword [esp + 0x18], edx
lea eax, [ebp - 0x18]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x14]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x2038]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x1c]
mov dword [esp + 8], eax
mov eax, dword [0x43c5ec]
mov dword [esp + 4], eax
mov eax, dword [0x43cb18]
mov dword [esp], eax
call fcn.0041a8eb
cmp eax, 1
jle 0x41f6aa
mov eax, dword [0x43c5ec]
shl eax, 4
mov dword [esp + 8], eax
mov eax, dword [0x43cb18]
mov dword [esp + 4], eax
mov eax, dword [0x43c820]
mov dword [esp], eax
call sub.cygwin1.dll_memmove
mov eax, dword [0x43c5ec]
mov dword [0x43ccd4], eax
jmp 0x41f77a
mov dword [esp + 4], 0x43ccd4
mov eax, dword [0x43c820]
mov dword [esp], eax
call fcn.00414086
fldz
fstp qword [esp + 0xc]
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x43ccd4
mov eax, dword [0x43c820]
mov dword [esp], eax
call fcn.00417fac
test eax, eax
jne 0x41f765
lea eax, [ebp - 0xf0]
mov dword [esp + 0x18], eax
lea edx, [ebp - 0x18]
mov dword [esp + 0x14], edx
lea eax, [ebp - 0x14]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x2038]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x1c]
mov dword [esp + 8], eax
mov eax, dword [0x43ccd4]
mov dword [esp + 4], eax
mov eax, dword [0x43c820]
mov dword [esp], eax
call fcn.0041a8eb
cmp eax, 1
jne 0x41f6aa
mov edx, dword [0x43c820]
mov eax, dword [ebp - 0x18]
shl eax, 4
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x14]
shl eax, 4
lea eax, [edx + eax]
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.cygwin1.dll_memmove
mov eax, dword [ebp - 0x18]
mov dword [0x43ccd4], eax
cmp dword [0x43c608], 2
jle 0x41f876
mov eax, dword [0x43cce0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xf
mov dword [esp + 4], 1
mov dword [esp], str.Trying_factor:
call sub.cygwin1.dll_fwrite
mov dword [esp + 8], 0
mov eax, dword [0x43ccd4]
mov dword [esp + 4], eax
mov eax, dword [0x43c820]
mov dword [esp], eax
call fcn.00426be2
mov eax, dword [0x43cce0]
mov dword [esp + 4], eax
mov dword [esp], 0xa
call sub.cygwin1.dll_fputc
mov dword [esp + 0x10], 0
mov eax, dword [0x43ccd4]
mov dword [esp + 0xc], eax
mov eax, dword [0x43c820]
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0041ed2f
test eax, eax
je 0x41f659
mov eax, dword [0x43ccd4]
mov dword [esp + 4], eax
mov eax, dword [0x43c820]
mov dword [esp], eax
call fcn.00401e84
test eax, eax
je 0x41f659
cmp dword [0x43c608], 0
jle 0x41f8eb
mov dword [esp + 8], str.Symbolic_polynomial_factored.
mov dword [esp + 4], 0x42f844
mov eax, dword [0x43cce0]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov edx, dword [ebp + 0xc]
mov dword [esp + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov ecx, dword [ebp - 0x206c]
mov edx, dword [ebp - 0x2084]
mov eax, dword [ebp - 0x2080]
call fcn.0041cbc5
mov ebx, 1
jmp 0x41faae
mov dword [esp + 8], 0xd0
lea eax, [ebp - 0xec]
mov dword [esp + 4], eax
mov dword [esp], 0x43cb40
call sub.cygwin1.dll_memmove
cmp dword [ebp - 0x2078], 0
je 0x41fa67
cmp dword [ebp - 0x204c], 0
mov edx, dword [ebp - 0x2088]
cmovne edx, dword [ebp - 0x2068]
mov ecx, dword [ebp - 0x2070]
cmovne ecx, dword [ebp - 0x204c]
mov eax, dword [ebp - 0x1c]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
shl edx, 4
add edx, dword [ebp - 0x2080]
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x206c]
shl eax, 4
add eax, dword [ebp - 0x2080]
mov dword [esp], eax
call fcn.0041ed2f
test eax, eax
je 0x41f9e0
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov edx, dword [ebp + 8]
mov dword [esp], edx
mov ecx, dword [ebp - 0x206c]
mov edx, dword [ebp - 0x2084]
mov eax, dword [ebp - 0x2080]
call fcn.0041cbc5
mov eax, dword [0x43ccd4]
mov edx, dword [ebp - 0x206c]
lea edx, [edx + eax + 1]
mov dword [ebp - 0x206c], edx
mov eax, dword [0x43c5ec]
mov dword [ebp + 8], eax
cmp dword [ebp - 0x204c], 0
mov edx, dword [ebp - 0x204c]
cmove edx, dword [ebp + 8]
mov eax, dword [ebp - 0x2068]
cmove eax, dword [ebp - 0x206c]
mov dword [ebp - 0x206c], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
shl eax, 4
add eax, dword [ebp - 0x2080]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2070]
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x207c]
mov dword [esp], eax
call fcn.0041ed2f
test eax, eax
je 0x41fa67
mov edx, dword [ebp + 0xc]
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x2070]
mov dword [esp], eax
mov ecx, dword [ebp - 0x2088]
mov edx, dword [ebp - 0x2084]
mov eax, dword [ebp - 0x2080]
call fcn.0041cbc5
mov ebx, 0
jmp 0x41fa6c
mov ebx, 0
mov eax, dword [ebp - 0x2078]
or eax, ebx
jmp 0x41fa7b
mov eax, 0
add esp, 0x20ac
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 0xd0
lea eax, [ebp - 0xec]
mov dword [esp + 4], eax
mov dword [esp], 0x43cb40
call sub.cygwin1.dll_memmove
jmp 0x41f944
mov ebx, 0
mov dword [esp + 8], 0xd0
lea eax, [ebp - 0xec]
mov dword [esp + 4], eax
mov dword [esp], 0x43cb40
call sub.cygwin1.dll_memmove
jmp 0x41fa6c