414755:	13 d1                	adc    %ecx,%edx
414757:	89 55 f4             	mov    %edx,-0xc(%ebp)
41475a:	3b 7d e4             	cmp    -0x1c(%ebp),%edi
41475d:	72 0c                	jb     0x41476b
41475f:	77 05                	ja     0x414766
414761:	3b 5d e0             	cmp    -0x20(%ebp),%ebx
414764:	76 05                	jbe    0x41476b
414766:	33 d2                	xor    %edx,%edx
414768:	42                   	inc    %edx
414769:	eb 02                	jmp    0x41476d
41476b:	33 d2                	xor    %edx,%edx
41476d:	8b 7d f4             	mov    -0xc(%ebp),%edi
414770:	3b f9                	cmp    %ecx,%edi
414772:	77 0c                	ja     0x414780
414774:	72 05                	jb     0x41477b
414776:	3b 45 f0             	cmp    -0x10(%ebp),%eax
414779:	73 05                	jae    0x414780
41477b:	33 c9                	xor    %ecx,%ecx
41477d:	41                   	inc    %ecx
41477e:	eb 02                	jmp    0x414782
414780:	33 c9                	xor    %ecx,%ecx
414782:	0b ca                	or     %edx,%ecx
414784:	89 45 f0             	mov    %eax,-0x10(%ebp)
414787:	c1 e1 02             	shl    $0x2,%ecx
41478a:	83 c9 08             	or     $0x8,%ecx
41478d:	09 4d fc             	or     %ecx,-0x4(%ebp)
414790:	8d 4d 0c             	lea    0xc(%ebp),%ecx
414793:	e8 23 31 00 00       	call   0x4178bb
414798:	8a d8                	mov    %al,%bl
41479a:	88 5d f8             	mov    %bl,-0x8(%ebp)
41479d:	e9 5c ff ff ff       	jmp    0x4146fe
4147a2:	ff 75 f8             	push   -0x8(%ebp)
4147a5:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4147a8:	e8 9e 3a 00 00       	call   0x41824b
4147ad:	8b 45 fc             	mov    -0x4(%ebp),%eax
4147b0:	a8 08                	test   $0x8,%al
4147b2:	75 28                	jne    0x4147dc
4147b4:	ff 75 dc             	push   -0x24(%ebp)
4147b7:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4147ba:	ff 75 d8             	push   -0x28(%ebp)
4147bd:	e8 c9 34 00 00       	call   0x417c8b
4147c2:	8b 4d 24             	mov    0x24(%ebp),%ecx
4147c5:	85 c9                	test   %ecx,%ecx
4147c7:	74 0a                	je     0x4147d3
4147c9:	8b 45 1c             	mov    0x1c(%ebp),%eax
4147cc:	0b 45 20             	or     0x20(%ebp),%eax
4147cf:	75 02                	jne    0x4147d3
4147d1:	88 01                	mov    %al,(%ecx)
4147d3:	33 c0                	xor    %eax,%eax
4147d5:	33 d2                	xor    %edx,%edx
4147d7:	e9 87 00 00 00       	jmp    0x414863
4147dc:	8b 5d f0             	mov    -0x10(%ebp),%ebx
4147df:	57                   	push   %edi
4147e0:	53                   	push   %ebx
4147e1:	50                   	push   %eax
4147e2:	e8 a7 d5 ff ff       	call   0x411d8e
4147e7:	83 c4 0c             	add    $0xc,%esp
4147ea:	84 c0                	test   %al,%al
4147ec:	74 53                	je     0x414841
4147ee:	8b 45 08             	mov    0x8(%ebp),%eax
4147f1:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
4147f5:	c7 40 18 22 00 00 00 	movl   $0x22,0x18(%eax)
4147fc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4147ff:	a8 01                	test   $0x1,%al
414801:	75 08                	jne    0x41480b
414803:	83 cb ff             	or     $0xffffffff,%ebx
414806:	83 cf ff             	or     $0xffffffff,%edi
414809:	eb 43                	jmp    0x41484e
41480b:	8b 4d 24             	mov    0x24(%ebp),%ecx
41480e:	a8 02                	test   $0x2,%al
414810:	74 17                	je     0x414829
414812:	85 c9                	test   %ecx,%ecx
414814:	74 0a                	je     0x414820
414816:	8b 45 1c             	mov    0x1c(%ebp),%eax
414819:	0b 45 20             	or     0x20(%ebp),%eax
41481c:	75 02                	jne    0x414820
41481e:	88 01                	mov    %al,(%ecx)
414820:	33 c0                	xor    %eax,%eax
414822:	ba 00 00 00 80       	mov    $0x80000000,%edx
414827:	eb 3a                	jmp    0x414863
414829:	85 c9                	test   %ecx,%ecx
41482b:	74 0a                	je     0x414837
41482d:	8b 45 1c             	mov    0x1c(%ebp),%eax
414830:	0b 45 20             	or     0x20(%ebp),%eax
414833:	75 02                	jne    0x414837
414835:	88 01                	mov    %al,(%ecx)
414837:	83 c8 ff             	or     $0xffffffff,%eax
41483a:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
41483f:	eb 22                	jmp    0x414863
414841:	f6 45 fc 02          	testb  $0x2,-0x4(%ebp)
414845:	74 07                	je     0x41484e
414847:	f7 db                	neg    %ebx
414849:	83 d7 00             	adc    $0x0,%edi
41484c:	f7 df                	neg    %edi
41484e:	8b 45 24             	mov    0x24(%ebp),%eax
414851:	85 c0                	test   %eax,%eax
414853:	74 0a                	je     0x41485f
414855:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
414858:	0b 4d 20             	or     0x20(%ebp),%ecx
41485b:	75 02                	jne    0x41485f
41485d:	88 08                	mov    %cl,(%eax)
41485f:	8b c3                	mov    %ebx,%eax
414861:	8b d7                	mov    %edi,%edx
414863:	5f                   	pop    %edi
414864:	5e                   	pop    %esi
414865:	5b                   	pop    %ebx
414866:	c9                   	leave
414867:	c3                   	ret
414868:	8b ff                	mov    %edi,%edi
41486a:	55                   	push   %ebp
41486b:	8b ec                	mov    %esp,%ebp
41486d:	83 ec 2c             	sub    $0x2c,%esp
414870:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
414873:	53                   	push   %ebx
414874:	56                   	push   %esi
414875:	57                   	push   %edi
414876:	ff 75 08             	push   0x8(%ebp)
414879:	e8 64 88 ff ff       	call   0x40d0e2
41487e:	ff 75 30             	push   0x30(%ebp)
414881:	8d 45 0c             	lea    0xc(%ebp),%eax
414884:	ff 75 2c             	push   0x2c(%ebp)
414887:	83 ec 20             	sub    $0x20,%esp
41488a:	8b cc                	mov    %esp,%ecx
41488c:	50                   	push   %eax
41488d:	e8 ed 04 00 00       	call   0x414d7f
414892:	8d 45 d4             	lea    -0x2c(%ebp),%eax
414895:	50                   	push   %eax
414896:	e8 c9 fc ff ff       	call   0x414564
41489b:	83 c4 2c             	add    $0x2c,%esp
41489e:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4148a1:	8b f8                	mov    %eax,%edi
4148a3:	8b da                	mov    %edx,%ebx
4148a5:	e8 80 88 ff ff       	call   0x40d12a
4148aa:	8b 75 24             	mov    0x24(%ebp),%esi
4148ad:	85 f6                	test   %esi,%esi
4148af:	74 0a                	je     0x4148bb
4148b1:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
4148b4:	0b 4d 20             	or     0x20(%ebp),%ecx
4148b7:	75 02                	jne    0x4148bb
4148b9:	88 0e                	mov    %cl,(%esi)
4148bb:	8b c7                	mov    %edi,%eax
4148bd:	8b d3                	mov    %ebx,%edx
4148bf:	5f                   	pop    %edi
4148c0:	5e                   	pop    %esi
4148c1:	5b                   	pop    %ebx
4148c2:	c9                   	leave
4148c3:	c3                   	ret
4148c4:	8b ff                	mov    %edi,%edi
4148c6:	55                   	push   %ebp
4148c7:	8b ec                	mov    %esp,%ebp
4148c9:	83 ec 0c             	sub    $0xc,%esp
4148cc:	d9 ee                	fldz
4148ce:	8d 45 f8             	lea    -0x8(%ebp),%eax
4148d1:	56                   	push   %esi
4148d2:	57                   	push   %edi
4148d3:	50                   	push   %eax
4148d4:	83 ec 20             	sub    $0x20,%esp
4148d7:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
4148db:	8b f9                	mov    %ecx,%edi
4148dd:	8d 45 ff             	lea    -0x1(%ebp),%eax
4148e0:	8b d4                	mov    %esp,%edx
4148e2:	d9 5d f8             	fstps  -0x8(%ebp)
4148e5:	50                   	push   %eax
4148e6:	ff 77 2c             	push   0x2c(%edi)
4148e9:	8b 77 60             	mov    0x60(%edi),%esi
4148ec:	8d 47 08             	lea    0x8(%edi),%eax
4148ef:	ff 77 28             	push   0x28(%edi)
4148f2:	50                   	push   %eax
4148f3:	52                   	push   %edx
4148f4:	e8 0c f2 ff ff       	call   0x413b05
4148f9:	83 c4 14             	add    $0x14,%esp
4148fc:	56                   	push   %esi
4148fd:	e8 21 f2 ff ff       	call   0x413b23
414902:	83 c4 28             	add    $0x28,%esp
414905:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
414909:	74 1c                	je     0x414927
41490b:	83 f8 01             	cmp    $0x1,%eax
41490e:	74 17                	je     0x414927
414910:	80 7f 26 00          	cmpb   $0x0,0x26(%edi)
414914:	74 04                	je     0x41491a
414916:	b0 01                	mov    $0x1,%al
414918:	eb 0f                	jmp    0x414929
41491a:	8d 45 f8             	lea    -0x8(%ebp),%eax
41491d:	8b cf                	mov    %edi,%ecx
41491f:	50                   	push   %eax
414920:	e8 a0 03 00 00       	call   0x414cc5
414925:	eb 02                	jmp    0x414929
414927:	32 c0                	xor    %al,%al
414929:	5f                   	pop    %edi
41492a:	5e                   	pop    %esi
41492b:	c9                   	leave
41492c:	c3                   	ret
41492d:	8b ff                	mov    %edi,%edi
41492f:	55                   	push   %ebp
414930:	8b ec                	mov    %esp,%ebp
414932:	83 ec 10             	sub    $0x10,%esp
414935:	d9 ee                	fldz
414937:	8d 45 f0             	lea    -0x10(%ebp),%eax
41493a:	56                   	push   %esi
41493b:	57                   	push   %edi
41493c:	50                   	push   %eax
41493d:	83 ec 20             	sub    $0x20,%esp
414940:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
414944:	8b f9                	mov    %ecx,%edi
414946:	8d 45 ff             	lea    -0x1(%ebp),%eax
414949:	8b d4                	mov    %esp,%edx
41494b:	dd 5d f0             	fstpl  -0x10(%ebp)
41494e:	50                   	push   %eax
41494f:	ff 77 2c             	push   0x2c(%edi)
414952:	8b 77 60             	mov    0x60(%edi),%esi
414955:	8d 47 08             	lea    0x8(%edi),%eax
414958:	ff 77 28             	push   0x28(%edi)
41495b:	50                   	push   %eax
41495c:	52                   	push   %edx
41495d:	e8 a3 f1 ff ff       	call   0x413b05
414962:	83 c4 14             	add    $0x14,%esp
414965:	56                   	push   %esi
414966:	e8 42 f2 ff ff       	call   0x413bad
41496b:	83 c4 28             	add    $0x28,%esp
41496e:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
414972:	74 1c                	je     0x414990
414974:	83 f8 01             	cmp    $0x1,%eax
414977:	74 17                	je     0x414990
414979:	80 7f 26 00          	cmpb   $0x0,0x26(%edi)
41497d:	74 04                	je     0x414983
41497f:	b0 01                	mov    $0x1,%al
414981:	eb 0f                	jmp    0x414992
414983:	8d 45 f0             	lea    -0x10(%ebp),%eax
414986:	8b cf                	mov    %edi,%ecx
414988:	50                   	push   %eax
414989:	e8 6c 03 00 00       	call   0x414cfa
41498e:	eb 02                	jmp    0x414992
414990:	32 c0                	xor    %al,%al
414992:	5f                   	pop    %edi
414993:	5e                   	pop    %esi
414994:	c9                   	leave
414995:	c3                   	ret
414996:	8b ff                	mov    %edi,%edi
414998:	55                   	push   %ebp
414999:	8b ec                	mov    %esp,%ebp
41499b:	83 ec 1c             	sub    $0x1c,%esp
41499e:	53                   	push   %ebx
41499f:	56                   	push   %esi
4149a0:	8b f1                	mov    %ecx,%esi
4149a2:	33 db                	xor    %ebx,%ebx
4149a4:	57                   	push   %edi
4149a5:	38 5e 26             	cmp    %bl,0x26(%esi)
4149a8:	75 6c                	jne    0x414a16
4149aa:	8b 46 64             	mov    0x64(%esi),%eax
4149ad:	8d 78 04             	lea    0x4(%eax),%edi
4149b0:	89 7e 64             	mov    %edi,0x64(%esi)
4149b3:	8b 18                	mov    (%eax),%ebx
4149b5:	8b cb                	mov    %ebx,%ecx
4149b7:	85 db                	test   %ebx,%ebx
4149b9:	75 19                	jne    0x4149d4
4149bb:	e8 b1 7c 00 00       	call   0x41c671
4149c0:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4149c6:	e8 23 8a ff ff       	call   0x40d3ee
4149cb:	32 c0                	xor    %al,%al
4149cd:	5f                   	pop    %edi
4149ce:	5e                   	pop    %esi
4149cf:	5b                   	pop    %ebx
4149d0:	c9                   	leave
4149d1:	c2 08 00             	ret    $0x8
4149d4:	8b 06                	mov    (%esi),%eax
4149d6:	83 e0 01             	and    $0x1,%eax
4149d9:	83 c8 00             	or     $0x0,%eax
4149dc:	74 38                	je     0x414a16
4149de:	8d 47 04             	lea    0x4(%edi),%eax
4149e1:	89 46 64             	mov    %eax,0x64(%esi)
4149e4:	8b 3f                	mov    (%edi),%edi
4149e6:	85 ff                	test   %edi,%edi
4149e8:	75 2f                	jne    0x414a19
4149ea:	8b 06                	mov    (%esi),%eax
4149ec:	83 e0 04             	and    $0x4,%eax
4149ef:	0b c7                	or     %edi,%eax
4149f1:	74 16                	je     0x414a09
4149f3:	ff 76 08             	push   0x8(%esi)
4149f6:	e8 0f b6 00 00       	call   0x42000a
4149fb:	59                   	pop    %ecx
4149fc:	83 f8 ff             	cmp    $0xffffffff,%eax
4149ff:	74 03                	je     0x414a04
414a01:	ff 46 0c             	incl   0xc(%esi)
414a04:	8b c3                	mov    %ebx,%eax
414a06:	c6 00 00             	movb   $0x0,(%eax)
414a09:	e8 63 7c 00 00       	call   0x41c671
414a0e:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
414a14:	eb b5                	jmp    0x4149cb
414a16:	83 cf ff             	or     $0xffffffff,%edi
414a19:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
414a1d:	8b 46 28             	mov    0x28(%esi),%eax
414a20:	89 45 f0             	mov    %eax,-0x10(%ebp)
414a23:	8b 46 2c             	mov    0x2c(%esi),%eax
414a26:	89 45 ec             	mov    %eax,-0x14(%ebp)
414a29:	89 5d e8             	mov    %ebx,-0x18(%ebp)
414a2c:	89 7d fc             	mov    %edi,-0x4(%ebp)
414a2f:	74 0b                	je     0x414a3c
414a31:	83 ff ff             	cmp    $0xffffffff,%edi
414a34:	74 06                	je     0x414a3c
414a36:	8d 47 ff             	lea    -0x1(%edi),%eax
414a39:	89 45 fc             	mov    %eax,-0x4(%ebp)
414a3c:	33 d2                	xor    %edx,%edx
414a3e:	33 c9                	xor    %ecx,%ecx
414a40:	8b 45 f0             	mov    -0x10(%ebp),%eax
414a43:	0b 45 ec             	or     -0x14(%ebp),%eax
414a46:	89 4d f8             	mov    %ecx,-0x8(%ebp)
414a49:	89 55 f4             	mov    %edx,-0xc(%ebp)
414a4c:	74 0a                	je     0x414a58
414a4e:	3b 55 f0             	cmp    -0x10(%ebp),%edx
414a51:	75 05                	jne    0x414a58
414a53:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
414a56:	74 73                	je     0x414acb
414a58:	ff 76 08             	push   0x8(%esi)
414a5b:	e8 aa b5 00 00       	call   0x42000a
414a60:	59                   	pop    %ecx
414a61:	8b c8                	mov    %eax,%ecx
414a63:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
414a66:	83 f9 ff             	cmp    $0xffffffff,%ecx
414a69:	74 03                	je     0x414a6e
414a6b:	ff 46 0c             	incl   0xc(%esi)
414a6e:	51                   	push   %ecx
414a6f:	ff 75 08             	push   0x8(%ebp)
414a72:	8b ce                	mov    %esi,%ecx
414a74:	e8 81 2e 00 00       	call   0x4178fa
414a79:	84 c0                	test   %al,%al
414a7b:	74 3c                	je     0x414ab9
414a7d:	80 7e 26 00          	cmpb   $0x0,0x26(%esi)
414a81:	75 17                	jne    0x414a9a
414a83:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414a86:	85 c9                	test   %ecx,%ecx
414a88:	74 1e                	je     0x414aa8
414a8a:	8b 55 e8             	mov    -0x18(%ebp),%edx
414a8d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
414a90:	88 02                	mov    %al,(%edx)
414a92:	42                   	inc    %edx
414a93:	49                   	dec    %ecx
414a94:	89 55 e8             	mov    %edx,-0x18(%ebp)
414a97:	89 4d fc             	mov    %ecx,-0x4(%ebp)
414a9a:	8b 55 f4             	mov    -0xc(%ebp),%edx
414a9d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
414aa0:	83 c2 01             	add    $0x1,%edx
414aa3:	83 d1 00             	adc    $0x0,%ecx
414aa6:	eb 98                	jmp    0x414a40
414aa8:	83 ff ff             	cmp    $0xffffffff,%edi
414aab:	0f 84 58 ff ff ff    	je     0x414a09
414ab1:	c6 03 00             	movb   $0x0,(%ebx)
414ab4:	e9 50 ff ff ff       	jmp    0x414a09
414ab9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
414abc:	8d 4e 08             	lea    0x8(%esi),%ecx
414abf:	50                   	push   %eax