44f753:	8b 95 58 fc ff ff    	mov    -0x3a8(%ebp),%edx
44f759:	47                   	inc    %edi
44f75a:	3b fa                	cmp    %edx,%edi
44f75c:	0f 85 f7 fe ff ff    	jne    0x44f659
44f762:	8b c1                	mov    %ecx,%eax
44f764:	89 0b                	mov    %ecx,(%ebx)
44f766:	c1 e0 02             	shl    $0x2,%eax
44f769:	50                   	push   %eax
44f76a:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
44f770:	50                   	push   %eax
44f771:	68 cc 01 00 00       	push   $0x1cc
44f776:	8d 43 04             	lea    0x4(%ebx),%eax
44f779:	50                   	push   %eax
44f77a:	e8 23 3f 00 00       	call   0x4536a2
44f77f:	83 c4 10             	add    $0x10,%esp
44f782:	b0 01                	mov    $0x1,%al
44f784:	84 c0                	test   %al,%al
44f786:	0f 84 b8 00 00 00    	je     0x44f844
44f78c:	8b 85 54 fc ff ff    	mov    -0x3ac(%ebp),%eax
44f792:	2b 85 40 fc ff ff    	sub    -0x3c0(%ebp),%eax
44f798:	89 85 54 fc ff ff    	mov    %eax,-0x3ac(%ebp)
44f79e:	0f 85 83 fc ff ff    	jne    0x44f427
44f7a4:	8b 8d 34 fc ff ff    	mov    -0x3cc(%ebp),%ecx
44f7aa:	85 c9                	test   %ecx,%ecx
44f7ac:	0f 84 c3 00 00 00    	je     0x44f875
44f7b2:	8b 34 8d c4 c7 49 00 	mov    0x49c7c4(,%ecx,4),%esi
44f7b9:	85 f6                	test   %esi,%esi
44f7bb:	0f 84 91 00 00 00    	je     0x44f852
44f7c1:	83 fe 01             	cmp    $0x1,%esi
44f7c4:	0f 84 ab 00 00 00    	je     0x44f875
44f7ca:	8b 03                	mov    (%ebx),%eax
44f7cc:	89 85 38 fc ff ff    	mov    %eax,-0x3c8(%ebp)
44f7d2:	85 c0                	test   %eax,%eax
44f7d4:	0f 84 9b 00 00 00    	je     0x44f875
44f7da:	8d 43 04             	lea    0x4(%ebx),%eax
44f7dd:	33 c9                	xor    %ecx,%ecx
44f7df:	89 85 34 fc ff ff    	mov    %eax,-0x3cc(%ebp)
44f7e5:	33 ff                	xor    %edi,%edi
44f7e7:	8b d8                	mov    %eax,%ebx
44f7e9:	8b c6                	mov    %esi,%eax
44f7eb:	f7 24 bb             	mull   (%ebx,%edi,4)
44f7ee:	03 c1                	add    %ecx,%eax
44f7f0:	89 04 bb             	mov    %eax,(%ebx,%edi,4)
44f7f3:	83 d2 00             	adc    $0x0,%edx
44f7f6:	47                   	inc    %edi
44f7f7:	8b ca                	mov    %edx,%ecx
44f7f9:	3b bd 38 fc ff ff    	cmp    -0x3c8(%ebp),%edi
44f7ff:	75 e8                	jne    0x44f7e9
44f801:	8b 9d 50 fc ff ff    	mov    -0x3b0(%ebp),%ebx
44f807:	85 c9                	test   %ecx,%ecx
44f809:	74 6a                	je     0x44f875
44f80b:	8b 03                	mov    (%ebx),%eax
44f80d:	83 f8 73             	cmp    $0x73,%eax
44f810:	73 40                	jae    0x44f852
44f812:	89 4c 83 04          	mov    %ecx,0x4(%ebx,%eax,4)
44f816:	ff 03                	incl   (%ebx)
44f818:	eb 5b                	jmp    0x44f875
44f81a:	33 c0                	xor    %eax,%eax
44f81c:	50                   	push   %eax
44f81d:	89 85 5c fa ff ff    	mov    %eax,-0x5a4(%ebp)
44f823:	89 03                	mov    %eax,(%ebx)
44f825:	8d 85 60 fa ff ff    	lea    -0x5a0(%ebp),%eax
44f82b:	50                   	push   %eax
44f82c:	68 cc 01 00 00       	push   $0x1cc
44f831:	8d 43 04             	lea    0x4(%ebx),%eax
44f834:	50                   	push   %eax
44f835:	e8 68 3e 00 00       	call   0x4536a2
44f83a:	83 c4 10             	add    $0x10,%esp
44f83d:	32 c0                	xor    %al,%al
44f83f:	e9 40 ff ff ff       	jmp    0x44f784
44f844:	83 a5 5c fa ff ff 00 	andl   $0x0,-0x5a4(%ebp)
44f84b:	83 23 00             	andl   $0x0,(%ebx)
44f84e:	6a 00                	push   $0x0
44f850:	eb 0b                	jmp    0x44f85d
44f852:	33 c0                	xor    %eax,%eax
44f854:	50                   	push   %eax
44f855:	89 03                	mov    %eax,(%ebx)
44f857:	89 85 5c fa ff ff    	mov    %eax,-0x5a4(%ebp)
44f85d:	8d 85 60 fa ff ff    	lea    -0x5a0(%ebp),%eax
44f863:	50                   	push   %eax
44f864:	8d 43 04             	lea    0x4(%ebx),%eax
44f867:	68 cc 01 00 00       	push   $0x1cc
44f86c:	50                   	push   %eax
44f86d:	e8 30 3e 00 00       	call   0x4536a2
44f872:	83 c4 10             	add    $0x10,%esp
44f875:	8b 95 3c fc ff ff    	mov    -0x3c4(%ebp),%edx
44f87b:	85 d2                	test   %edx,%edx
44f87d:	74 50                	je     0x44f8cf
44f87f:	33 ff                	xor    %edi,%edi
44f881:	39 3b                	cmp    %edi,(%ebx)
44f883:	74 13                	je     0x44f898
44f885:	8d 73 04             	lea    0x4(%ebx),%esi
44f888:	33 c0                	xor    %eax,%eax
44f88a:	01 16                	add    %edx,(%esi)
44f88c:	8d 76 04             	lea    0x4(%esi),%esi
44f88f:	13 c0                	adc    %eax,%eax
44f891:	47                   	inc    %edi
44f892:	8b d0                	mov    %eax,%edx
44f894:	3b 3b                	cmp    (%ebx),%edi
44f896:	75 f0                	jne    0x44f888
44f898:	85 d2                	test   %edx,%edx
44f89a:	74 33                	je     0x44f8cf
44f89c:	8b 03                	mov    (%ebx),%eax
44f89e:	83 f8 73             	cmp    $0x73,%eax
44f8a1:	73 08                	jae    0x44f8ab
44f8a3:	89 54 83 04          	mov    %edx,0x4(%ebx,%eax,4)
44f8a7:	ff 03                	incl   (%ebx)
44f8a9:	eb 24                	jmp    0x44f8cf
44f8ab:	83 a5 5c fa ff ff 00 	andl   $0x0,-0x5a4(%ebp)
44f8b2:	8d 85 60 fa ff ff    	lea    -0x5a0(%ebp),%eax
44f8b8:	83 23 00             	andl   $0x0,(%ebx)
44f8bb:	6a 00                	push   $0x0
44f8bd:	50                   	push   %eax
44f8be:	8d 43 04             	lea    0x4(%ebx),%eax
44f8c1:	68 cc 01 00 00       	push   $0x1cc
44f8c6:	50                   	push   %eax
44f8c7:	e8 d6 3d 00 00       	call   0x4536a2
44f8cc:	83 c4 10             	add    $0x10,%esp
44f8cf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44f8d2:	5f                   	pop    %edi
44f8d3:	5e                   	pop    %esi
44f8d4:	33 cd                	xor    %ebp,%ecx
44f8d6:	5b                   	pop    %ebx
44f8d7:	e8 26 01 ff ff       	call   0x43fa02
44f8dc:	8b e5                	mov    %ebp,%esp
44f8de:	5d                   	pop    %ebp
44f8df:	c3                   	ret
44f8e0:	8b ff                	mov    %edi,%edi
44f8e2:	55                   	push   %ebp
44f8e3:	8b ec                	mov    %esp,%ebp
44f8e5:	81 ec d0 01 00 00    	sub    $0x1d0,%esp
44f8eb:	57                   	push   %edi
44f8ec:	8b 7d 0c             	mov    0xc(%ebp),%edi
44f8ef:	85 ff                	test   %edi,%edi
44f8f1:	74 32                	je     0x44f925
44f8f3:	8b 55 08             	mov    0x8(%ebp),%edx
44f8f6:	53                   	push   %ebx
44f8f7:	33 db                	xor    %ebx,%ebx
44f8f9:	39 1a                	cmp    %ebx,(%edx)
44f8fb:	74 16                	je     0x44f913
44f8fd:	56                   	push   %esi
44f8fe:	8d 72 04             	lea    0x4(%edx),%esi
44f901:	33 c0                	xor    %eax,%eax
44f903:	8d 76 04             	lea    0x4(%esi),%esi
44f906:	01 7e fc             	add    %edi,-0x4(%esi)
44f909:	13 c0                	adc    %eax,%eax
44f90b:	43                   	inc    %ebx
44f90c:	8b f8                	mov    %eax,%edi
44f90e:	3b 1a                	cmp    (%edx),%ebx
44f910:	75 ef                	jne    0x44f901
44f912:	5e                   	pop    %esi
44f913:	5b                   	pop    %ebx
44f914:	85 ff                	test   %edi,%edi
44f916:	74 0d                	je     0x44f925
44f918:	8b 02                	mov    (%edx),%eax
44f91a:	83 f8 73             	cmp    $0x73,%eax
44f91d:	73 0d                	jae    0x44f92c
44f91f:	89 7c 82 04          	mov    %edi,0x4(%edx,%eax,4)
44f923:	ff 02                	incl   (%edx)
44f925:	b0 01                	mov    $0x1,%al
44f927:	5f                   	pop    %edi
44f928:	8b e5                	mov    %ebp,%esp
44f92a:	5d                   	pop    %ebp
44f92b:	c3                   	ret
44f92c:	6a 00                	push   $0x0
44f92e:	8d 85 34 fe ff ff    	lea    -0x1cc(%ebp),%eax
44f934:	c7 85 30 fe ff ff 00 	movl   $0x0,-0x1d0(%ebp)
44f93b:	00 00 00
44f93e:	50                   	push   %eax
44f93f:	8d 42 04             	lea    0x4(%edx),%eax
44f942:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
44f948:	68 cc 01 00 00       	push   $0x1cc
44f94d:	50                   	push   %eax
44f94e:	e8 4f 3d 00 00       	call   0x4536a2
44f953:	83 c4 10             	add    $0x10,%esp
44f956:	32 c0                	xor    %al,%al
44f958:	5f                   	pop    %edi
44f959:	8b e5                	mov    %ebp,%esp
44f95b:	5d                   	pop    %ebp
44f95c:	c3                   	ret
44f95d:	cc                   	int3
44f95e:	cc                   	int3
44f95f:	cc                   	int3
44f960:	8b ff                	mov    %edi,%edi
44f962:	55                   	push   %ebp
44f963:	8b ec                	mov    %esp,%ebp
44f965:	8b 55 08             	mov    0x8(%ebp),%edx
44f968:	33 c0                	xor    %eax,%eax
44f96a:	8b 0a                	mov    (%edx),%ecx
44f96c:	03 4d 0c             	add    0xc(%ebp),%ecx
44f96f:	13 c0                	adc    %eax,%eax
44f971:	03 4d 10             	add    0x10(%ebp),%ecx
44f974:	89 0a                	mov    %ecx,(%edx)
44f976:	83 d0 00             	adc    $0x0,%eax
44f979:	5d                   	pop    %ebp
44f97a:	c3                   	ret
44f97b:	cc                   	int3
44f97c:	cc                   	int3
44f97d:	cc                   	int3
44f97e:	cc                   	int3
44f97f:	cc                   	int3
44f980:	8b ff                	mov    %edi,%edi
44f982:	55                   	push   %ebp
44f983:	8b ec                	mov    %esp,%ebp
44f985:	8b 45 0c             	mov    0xc(%ebp),%eax
44f988:	f7 65 10             	mull   0x10(%ebp)
44f98b:	8b 4d 08             	mov    0x8(%ebp),%ecx
44f98e:	03 01                	add    (%ecx),%eax
44f990:	83 d2 00             	adc    $0x0,%edx
44f993:	03 45 14             	add    0x14(%ebp),%eax
44f996:	89 01                	mov    %eax,(%ecx)
44f998:	83 d2 00             	adc    $0x0,%edx
44f99b:	8b c2                	mov    %edx,%eax
44f99d:	5d                   	pop    %ebp
44f99e:	c3                   	ret
44f99f:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
44f9a3:	74 03                	je     0x44f9a8
44f9a5:	8b 01                	mov    (%ecx),%eax
44f9a7:	c3                   	ret
44f9a8:	6a 00                	push   $0x0
44f9aa:	68 9f 01 00 00       	push   $0x19f
44f9af:	68 f0 c7 49 00       	push   $0x49c7f0
44f9b4:	68 58 c8 49 00       	push   $0x49c858
44f9b9:	68 b4 c8 49 00       	push   $0x49c8b4
44f9be:	e8 40 d3 ff ff       	call   0x44cd03
44f9c3:	cc                   	int3
44f9c4:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
44f9c8:	75 03                	jne    0x44f9cd
44f9ca:	8b 01                	mov    (%ecx),%eax
44f9cc:	c3                   	ret
44f9cd:	6a 00                	push   $0x0
44f9cf:	68 a5 01 00 00       	push   $0x1a5
44f9d4:	68 f0 c7 49 00       	push   $0x49c7f0
44f9d9:	68 d0 c8 49 00       	push   $0x49c8d0
44f9de:	68 2c c9 49 00       	push   $0x49c92c
44f9e3:	e8 1b d3 ff ff       	call   0x44cd03
44f9e8:	cc                   	int3
44f9e9:	8b ff                	mov    %edi,%edi
44f9eb:	55                   	push   %ebp
44f9ec:	8b ec                	mov    %esp,%ebp
44f9ee:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44f9f1:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
44f9f5:	74 12                	je     0x44fa09
44f9f7:	e8 a3 ff ff ff       	call   0x44f99f
44f9fc:	50                   	push   %eax
44f9fd:	ff 75 08             	push   0x8(%ebp)
44fa00:	e8 25 d5 ff ff       	call   0x44cf2a
44fa05:	59                   	pop    %ecx
44fa06:	59                   	pop    %ecx
44fa07:	5d                   	pop    %ebp
44fa08:	c3                   	ret
44fa09:	e8 b6 ff ff ff       	call   0x44f9c4
44fa0e:	33 c9                	xor    %ecx,%ecx
44fa10:	38 4d 08             	cmp    %cl,0x8(%ebp)
44fa13:	0f 95 c1             	setne  %cl
44fa16:	c1 e1 1f             	shl    $0x1f,%ecx
44fa19:	81 c9 00 00 80 7f    	or     $0x7f800000,%ecx
44fa1f:	89 08                	mov    %ecx,(%eax)
44fa21:	5d                   	pop    %ebp
44fa22:	c3                   	ret
44fa23:	8b ff                	mov    %edi,%edi
44fa25:	55                   	push   %ebp
44fa26:	8b ec                	mov    %esp,%ebp
44fa28:	83 ec 24             	sub    $0x24,%esp
44fa2b:	53                   	push   %ebx
44fa2c:	56                   	push   %esi
44fa2d:	8b 75 0c             	mov    0xc(%ebp),%esi
44fa30:	33 db                	xor    %ebx,%ebx
44fa32:	57                   	push   %edi
44fa33:	8b 7d 08             	mov    0x8(%ebp),%edi
44fa36:	3b f3                	cmp    %ebx,%esi
44fa38:	77 16                	ja     0x44fa50
44fa3a:	83 ff ff             	cmp    $0xffffffff,%edi
44fa3d:	77 11                	ja     0x44fa50
44fa3f:	0f bd c7             	bsr    %edi,%eax
44fa42:	89 5d dc             	mov    %ebx,-0x24(%ebp)
44fa45:	74 05                	je     0x44fa4c
44fa47:	8d 48 01             	lea    0x1(%eax),%ecx
44fa4a:	eb 14                	jmp    0x44fa60
44fa4c:	8b cb                	mov    %ebx,%ecx
44fa4e:	eb 10                	jmp    0x44fa60
44fa50:	0f bd c6             	bsr    %esi,%eax
44fa53:	89 5d dc             	mov    %ebx,-0x24(%ebp)
44fa56:	8d 48 01             	lea    0x1(%eax),%ecx
44fa59:	75 02                	jne    0x44fa5d
44fa5b:	8b cb                	mov    %ebx,%ecx
44fa5d:	83 c1 20             	add    $0x20,%ecx
44fa60:	8b 45 1c             	mov    0x1c(%ebp),%eax
44fa63:	33 d2                	xor    %edx,%edx
44fa65:	8a 40 04             	mov    0x4(%eax),%al
44fa68:	84 c0                	test   %al,%al
44fa6a:	88 45 ff             	mov    %al,-0x1(%ebp)
44fa6d:	0f 94 c2             	sete   %dl
44fa70:	33 c0                	xor    %eax,%eax
44fa72:	4a                   	dec    %edx
44fa73:	83 e2 1d             	and    $0x1d,%edx
44fa76:	83 c2 18             	add    $0x18,%edx
44fa79:	2b d1                	sub    %ecx,%edx
44fa7b:	8b 4d 10             	mov    0x10(%ebp),%ecx
44fa7e:	2b ca                	sub    %edx,%ecx
44fa80:	89 55 f4             	mov    %edx,-0xc(%ebp)
44fa83:	38 45 ff             	cmp    %al,-0x1(%ebp)
44fa86:	89 4d f8             	mov    %ecx,-0x8(%ebp)
44fa89:	0f 94 c0             	sete   %al
44fa8c:	48                   	dec    %eax
44fa8d:	25 80 03 00 00       	and    $0x380,%eax
44fa92:	83 c0 7f             	add    $0x7f,%eax
44fa95:	89 45 f0             	mov    %eax,-0x10(%ebp)
44fa98:	3b c8                	cmp    %eax,%ecx
44fa9a:	7e 15                	jle    0x44fab1
44fa9c:	ff 75 1c             	push   0x1c(%ebp)
44fa9f:	ff 75 14             	push   0x14(%ebp)
44faa2:	e8 42 ff ff ff       	call   0x44f9e9
44faa7:	59                   	pop    %ecx
44faa8:	59                   	pop    %ecx
44faa9:	6a 03                	push   $0x3
44faab:	58                   	pop    %eax
44faac:	e9 b3 02 00 00       	jmp    0x44fd64
44fab1:	33 c0                	xor    %eax,%eax
44fab3:	38 45 ff             	cmp    %al,-0x1(%ebp)
44fab6:	0f 94 c0             	sete   %al
44fab9:	48                   	dec    %eax
44faba:	25 80 fc ff ff       	and    $0xfffffc80,%eax
44fabf:	83 c0 82             	add    $0xffffff82,%eax
44fac2:	3b c8                	cmp    %eax,%ecx
44fac4:	0f 8d 33 01 00 00    	jge    0x44fbfd
44faca:	8b 45 f0             	mov    -0x10(%ebp),%eax
44facd:	48                   	dec    %eax
44face:	03 c1                	add    %ecx,%eax
44fad0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44fad3:	03 c2                	add    %edx,%eax
44fad5:	f7 d9                	neg    %ecx
44fad7:	89 45 ec             	mov    %eax,-0x14(%ebp)
44fada:	89 4d f8             	mov    %ecx,-0x8(%ebp)
44fadd:	85 c0                	test   %eax,%eax
44fadf:	0f 89 10 01 00 00    	jns    0x44fbf5
44fae5:	f7 d8                	neg    %eax
44fae7:	89 45 f0             	mov    %eax,-0x10(%ebp)
44faea:	83 f8 40             	cmp    $0x40,%eax
44faed:	0f 83 ee 00 00 00    	jae    0x44fbe1
44faf3:	8d 48 ff             	lea    -0x1(%eax),%ecx
44faf6:	33 d2                	xor    %edx,%edx
44faf8:	33 c0                	xor    %eax,%eax
44fafa:	40                   	inc    %eax
44fafb:	e8 00 02 ff ff       	call   0x43fd00
44fb00:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44fb03:	89 45 e8             	mov    %eax,-0x18(%ebp)
44fb06:	83 c0 ff             	add    $0xffffffff,%eax
44fb09:	89 55 e4             	mov    %edx,-0x1c(%ebp)
44fb0c:	83 d2 ff             	adc    $0xffffffff,%edx