4447f4:	8b 46 1c             	mov    0x1c(%esi),%eax
4447f7:	89 42 1c             	mov    %eax,0x1c(%edx)
4447fa:	8b 47 14             	mov    0x14(%edi),%eax
4447fd:	89 46 14             	mov    %eax,0x14(%esi)
444800:	8b 47 18             	mov    0x18(%edi),%eax
444803:	89 46 18             	mov    %eax,0x18(%esi)
444806:	8b 47 1c             	mov    0x1c(%edi),%eax
444809:	89 46 1c             	mov    %eax,0x1c(%esi)
44480c:	ff 75 0c             	push   0xc(%ebp)
44480f:	8d 45 f0             	lea    -0x10(%ebp),%eax
444812:	ff 71 18             	push   0x18(%ecx)
444815:	8b cb                	mov    %ebx,%ecx
444817:	50                   	push   %eax
444818:	e8 d0 01 00 00       	call   0x4449ed
44481d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
444820:	8b 49 1c             	mov    0x1c(%ecx),%ecx
444823:	89 4d f0             	mov    %ecx,-0x10(%ebp)
444826:	85 c0                	test   %eax,%eax
444828:	0f 85 a6 00 00 00    	jne    0x4448d4
44482e:	3b ce                	cmp    %esi,%ecx
444830:	75 da                	jne    0x44480c
444832:	ff 75 0c             	push   0xc(%ebp)
444835:	8d 45 f0             	lea    -0x10(%ebp),%eax
444838:	e9 8c 00 00 00       	jmp    0x4448c9
44483d:	85 c0                	test   %eax,%eax
44483f:	74 03                	je     0x444844
444841:	89 70 1c             	mov    %esi,0x1c(%eax)
444844:	8b 47 18             	mov    0x18(%edi),%eax
444847:	85 c0                	test   %eax,%eax
444849:	74 03                	je     0x44484e
44484b:	89 70 1c             	mov    %esi,0x1c(%eax)
44484e:	8b 47 14             	mov    0x14(%edi),%eax
444851:	ff 75 0c             	push   0xc(%ebp)
444854:	89 46 14             	mov    %eax,0x14(%esi)
444857:	8b 47 1c             	mov    0x1c(%edi),%eax
44485a:	89 46 1c             	mov    %eax,0x1c(%esi)
44485d:	8d 45 ec             	lea    -0x14(%ebp),%eax
444860:	ff 76 14             	push   0x14(%esi)
444863:	eb 67                	jmp    0x4448cc
444865:	8b c2                	mov    %edx,%eax
444867:	85 db                	test   %ebx,%ebx
444869:	74 1e                	je     0x444889
44486b:	39 7b 14             	cmp    %edi,0x14(%ebx)
44486e:	75 0b                	jne    0x44487b
444870:	85 d2                	test   %edx,%edx
444872:	75 02                	jne    0x444876
444874:	8b c1                	mov    %ecx,%eax
444876:	89 43 14             	mov    %eax,0x14(%ebx)
444879:	eb 09                	jmp    0x444884
44487b:	85 d2                	test   %edx,%edx
44487d:	75 02                	jne    0x444881
44487f:	8b c1                	mov    %ecx,%eax
444881:	89 43 18             	mov    %eax,0x18(%ebx)
444884:	8b 5d f0             	mov    -0x10(%ebp),%ebx
444887:	eb 0b                	jmp    0x444894
444889:	85 d2                	test   %edx,%edx
44488b:	75 02                	jne    0x44488f
44488d:	8b c1                	mov    %ecx,%eax
44488f:	8b 5d f0             	mov    -0x10(%ebp),%ebx
444892:	89 03                	mov    %eax,(%ebx)
444894:	85 d2                	test   %edx,%edx
444896:	74 1d                	je     0x4448b5
444898:	8b 47 1c             	mov    0x1c(%edi),%eax
44489b:	8b cb                	mov    %ebx,%ecx
44489d:	89 42 1c             	mov    %eax,0x1c(%edx)
4448a0:	8b 47 20             	mov    0x20(%edi),%eax
4448a3:	56                   	push   %esi
4448a4:	89 42 20             	mov    %eax,0x20(%edx)
4448a7:	8d 45 ec             	lea    -0x14(%ebp),%eax
4448aa:	ff 72 18             	push   0x18(%edx)
4448ad:	50                   	push   %eax
4448ae:	e8 3a 01 00 00       	call   0x4449ed
4448b3:	eb 1f                	jmp    0x4448d4
4448b5:	85 c9                	test   %ecx,%ecx
4448b7:	74 1b                	je     0x4448d4
4448b9:	8b 47 1c             	mov    0x1c(%edi),%eax
4448bc:	89 41 1c             	mov    %eax,0x1c(%ecx)
4448bf:	8b 47 20             	mov    0x20(%edi),%eax
4448c2:	89 41 20             	mov    %eax,0x20(%ecx)
4448c5:	8d 45 e8             	lea    -0x18(%ebp),%eax
4448c8:	56                   	push   %esi
4448c9:	ff 71 14             	push   0x14(%ecx)
4448cc:	50                   	push   %eax
4448cd:	8b cb                	mov    %ebx,%ecx
4448cf:	e8 9f 02 00 00       	call   0x444b73
4448d4:	8b cf                	mov    %edi,%ecx
4448d6:	e8 e4 e1 fe ff       	call   0x432abf
4448db:	8b 4b 08             	mov    0x8(%ebx),%ecx
4448de:	57                   	push   %edi
4448df:	e8 46 4f fd ff       	call   0x41982a
4448e4:	e8 52 ad fd ff       	call   0x41f63b
4448e9:	c2 08 00             	ret    $0x8
4448ec:	8b ff                	mov    %edi,%edi
4448ee:	55                   	push   %ebp
4448ef:	8b ec                	mov    %esp,%ebp
4448f1:	51                   	push   %ecx
4448f2:	53                   	push   %ebx
4448f3:	56                   	push   %esi
4448f4:	8b 75 08             	mov    0x8(%ebp),%esi
4448f7:	8b d9                	mov    %ecx,%ebx
4448f9:	57                   	push   %edi
4448fa:	8b 46 0c             	mov    0xc(%esi),%eax
4448fd:	8b 56 10             	mov    0x10(%esi),%edx
444900:	8b 7e 14             	mov    0x14(%esi),%edi
444903:	85 c0                	test   %eax,%eax
444905:	0f 84 99 00 00 00    	je     0x4449a4
44490b:	85 d2                	test   %edx,%edx
44490d:	0f 84 8c 00 00 00    	je     0x44499f
444913:	8d 4d fc             	lea    -0x4(%ebp),%ecx
444916:	89 75 fc             	mov    %esi,-0x4(%ebp)
444919:	e8 e1 04 00 00       	call   0x444dff
44491e:	8b 45 fc             	mov    -0x4(%ebp),%eax
444921:	85 ff                	test   %edi,%edi
444923:	74 0f                	je     0x444934
444925:	39 77 0c             	cmp    %esi,0xc(%edi)
444928:	75 05                	jne    0x44492f
44492a:	89 47 0c             	mov    %eax,0xc(%edi)
44492d:	eb 07                	jmp    0x444936
44492f:	89 47 10             	mov    %eax,0x10(%edi)
444932:	eb 02                	jmp    0x444936
444934:	89 03                	mov    %eax,(%ebx)
444936:	8b 4e 0c             	mov    0xc(%esi),%ecx
444939:	39 70 14             	cmp    %esi,0x14(%eax)
44493c:	74 42                	je     0x444980
44493e:	85 c9                	test   %ecx,%ecx
444940:	74 03                	je     0x444945
444942:	89 41 14             	mov    %eax,0x14(%ecx)
444945:	8b 4e 10             	mov    0x10(%esi),%ecx
444948:	85 c9                	test   %ecx,%ecx
44494a:	74 03                	je     0x44494f
44494c:	89 41 14             	mov    %eax,0x14(%ecx)
44494f:	8b 50 14             	mov    0x14(%eax),%edx
444952:	8b 48 10             	mov    0x10(%eax),%ecx
444955:	89 4a 0c             	mov    %ecx,0xc(%edx)
444958:	8b 50 0c             	mov    0xc(%eax),%edx
44495b:	85 d2                	test   %edx,%edx
44495d:	74 06                	je     0x444965
44495f:	8b 48 14             	mov    0x14(%eax),%ecx
444962:	89 4a 14             	mov    %ecx,0x14(%edx)
444965:	8b 50 10             	mov    0x10(%eax),%edx
444968:	85 d2                	test   %edx,%edx
44496a:	74 06                	je     0x444972
44496c:	8b 48 14             	mov    0x14(%eax),%ecx
44496f:	89 4a 14             	mov    %ecx,0x14(%edx)
444972:	8b 4e 0c             	mov    0xc(%esi),%ecx
444975:	89 48 0c             	mov    %ecx,0xc(%eax)
444978:	8b 4e 10             	mov    0x10(%esi),%ecx
44497b:	89 48 10             	mov    %ecx,0x10(%eax)
44497e:	eb 17                	jmp    0x444997
444980:	85 c9                	test   %ecx,%ecx
444982:	74 03                	je     0x444987
444984:	89 41 14             	mov    %eax,0x14(%ecx)
444987:	8b 4e 10             	mov    0x10(%esi),%ecx
44498a:	85 c9                	test   %ecx,%ecx
44498c:	74 03                	je     0x444991
44498e:	89 41 14             	mov    %eax,0x14(%ecx)
444991:	8b 4e 0c             	mov    0xc(%esi),%ecx
444994:	89 48 0c             	mov    %ecx,0xc(%eax)
444997:	8b 4e 14             	mov    0x14(%esi),%ecx
44499a:	89 48 14             	mov    %ecx,0x14(%eax)
44499d:	eb 37                	jmp    0x4449d6
44499f:	89 78 14             	mov    %edi,0x14(%eax)
4449a2:	eb 07                	jmp    0x4449ab
4449a4:	85 d2                	test   %edx,%edx
4449a6:	74 03                	je     0x4449ab
4449a8:	89 7a 14             	mov    %edi,0x14(%edx)
4449ab:	85 ff                	test   %edi,%edi
4449ad:	74 1b                	je     0x4449ca
4449af:	39 77 0c             	cmp    %esi,0xc(%edi)
4449b2:	75 0b                	jne    0x4449bf
4449b4:	85 c0                	test   %eax,%eax
4449b6:	75 02                	jne    0x4449ba
4449b8:	8b c2                	mov    %edx,%eax
4449ba:	89 47 0c             	mov    %eax,0xc(%edi)
4449bd:	eb 17                	jmp    0x4449d6
4449bf:	85 c0                	test   %eax,%eax
4449c1:	75 02                	jne    0x4449c5
4449c3:	8b c2                	mov    %edx,%eax
4449c5:	89 47 10             	mov    %eax,0x10(%edi)
4449c8:	eb 0c                	jmp    0x4449d6
4449ca:	8b 46 0c             	mov    0xc(%esi),%eax
4449cd:	85 c0                	test   %eax,%eax
4449cf:	75 03                	jne    0x4449d4
4449d1:	8b 46 10             	mov    0x10(%esi),%eax
4449d4:	89 03                	mov    %eax,(%ebx)
4449d6:	8b 4b 08             	mov    0x8(%ebx),%ecx
4449d9:	56                   	push   %esi
4449da:	e8 4b 4e fd ff       	call   0x41982a
4449df:	85 c0                	test   %eax,%eax
4449e1:	75 03                	jne    0x4449e6
4449e3:	ff 4b 04             	decl   0x4(%ebx)
4449e6:	5f                   	pop    %edi
4449e7:	5e                   	pop    %esi
4449e8:	5b                   	pop    %ebx
4449e9:	c9                   	leave
4449ea:	c2 04 00             	ret    $0x4
4449ed:	8b ff                	mov    %edi,%edi
4449ef:	55                   	push   %ebp
4449f0:	8b ec                	mov    %esp,%ebp
4449f2:	51                   	push   %ecx
4449f3:	53                   	push   %ebx
4449f4:	56                   	push   %esi
4449f5:	8b 75 10             	mov    0x10(%ebp),%esi
4449f8:	8b d9                	mov    %ecx,%ebx
4449fa:	33 c9                	xor    %ecx,%ecx
4449fc:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4449ff:	57                   	push   %edi
444a00:	8b f9                	mov    %ecx,%edi
444a02:	38 0e                	cmp    %cl,(%esi)
444a04:	0f 84 60 01 00 00    	je     0x444b6a
444a0a:	8b 55 08             	mov    0x8(%ebp),%edx
444a0d:	8b 12                	mov    (%edx),%edx
444a0f:	8b 42 20             	mov    0x20(%edx),%eax
444a12:	2b c1                	sub    %ecx,%eax
444a14:	0f 84 47 01 00 00    	je     0x444b61
444a1a:	83 e8 01             	sub    $0x1,%eax
444a1d:	0f 84 39 01 00 00    	je     0x444b5c
444a23:	83 e8 01             	sub    $0x1,%eax
444a26:	74 0a                	je     0x444a32
444a28:	bf 07 00 00 80       	mov    $0x80000007,%edi
444a2d:	e9 38 01 00 00       	jmp    0x444b6a
444a32:	8b 4d 0c             	mov    0xc(%ebp),%ecx
444a35:	8b 41 20             	mov    0x20(%ecx),%eax
444a38:	83 e8 00             	sub    $0x0,%eax
444a3b:	0f 84 d2 00 00 00    	je     0x444b13
444a41:	83 e8 01             	sub    $0x1,%eax
444a44:	74 3b                	je     0x444a81
444a46:	83 e8 01             	sub    $0x1,%eax
444a49:	75 dd                	jne    0x444a28
444a4b:	8b 72 1c             	mov    0x1c(%edx),%esi
444a4e:	85 f6                	test   %esi,%esi
444a50:	74 0f                	je     0x444a61
444a52:	39 56 14             	cmp    %edx,0x14(%esi)
444a55:	75 05                	jne    0x444a5c
444a57:	89 4e 14             	mov    %ecx,0x14(%esi)
444a5a:	eb 07                	jmp    0x444a63
444a5c:	89 4e 18             	mov    %ecx,0x18(%esi)
444a5f:	eb 02                	jmp    0x444a63
444a61:	89 0b                	mov    %ecx,(%ebx)
444a63:	8b 41 14             	mov    0x14(%ecx),%eax
444a66:	85 c0                	test   %eax,%eax
444a68:	74 03                	je     0x444a6d
444a6a:	89 50 1c             	mov    %edx,0x1c(%eax)
444a6d:	21 7a 20             	and    %edi,0x20(%edx)
444a70:	8b 41 14             	mov    0x14(%ecx),%eax
444a73:	89 42 18             	mov    %eax,0x18(%edx)
444a76:	89 4a 1c             	mov    %ecx,0x1c(%edx)
444a79:	21 79 20             	and    %edi,0x20(%ecx)
444a7c:	e9 ce 00 00 00       	jmp    0x444b4f
444a81:	8b 42 18             	mov    0x18(%edx),%eax
444a84:	8b 5a 1c             	mov    0x1c(%edx),%ebx
444a87:	8b 70 14             	mov    0x14(%eax),%esi
444a8a:	85 db                	test   %ebx,%ebx
444a8c:	74 0f                	je     0x444a9d
444a8e:	39 53 14             	cmp    %edx,0x14(%ebx)
444a91:	75 05                	jne    0x444a98
444a93:	89 73 14             	mov    %esi,0x14(%ebx)
444a96:	eb 0a                	jmp    0x444aa2
444a98:	89 73 18             	mov    %esi,0x18(%ebx)
444a9b:	eb 05                	jmp    0x444aa2
444a9d:	8b 45 fc             	mov    -0x4(%ebp),%eax
444aa0:	89 30                	mov    %esi,(%eax)
444aa2:	89 72 1c             	mov    %esi,0x1c(%edx)
444aa5:	89 71 1c             	mov    %esi,0x1c(%ecx)
444aa8:	8b 46 14             	mov    0x14(%esi),%eax
444aab:	85 c0                	test   %eax,%eax
444aad:	74 03                	je     0x444ab2
444aaf:	89 50 1c             	mov    %edx,0x1c(%eax)
444ab2:	8b 46 18             	mov    0x18(%esi),%eax
444ab5:	85 c0                	test   %eax,%eax
444ab7:	74 03                	je     0x444abc
444ab9:	89 48 1c             	mov    %ecx,0x1c(%eax)
444abc:	8b 46 14             	mov    0x14(%esi),%eax
444abf:	89 42 18             	mov    %eax,0x18(%edx)
444ac2:	8b 46 18             	mov    0x18(%esi),%eax
444ac5:	89 41 14             	mov    %eax,0x14(%ecx)
444ac8:	8b 46 20             	mov    0x20(%esi),%eax
444acb:	89 5e 1c             	mov    %ebx,0x1c(%esi)
444ace:	33 db                	xor    %ebx,%ebx
444ad0:	89 56 14             	mov    %edx,0x14(%esi)
444ad3:	89 4e 18             	mov    %ecx,0x18(%esi)
444ad6:	2b c3                	sub    %ebx,%eax
444ad8:	74 29                	je     0x444b03
444ada:	83 e8 01             	sub    $0x1,%eax
444add:	74 18                	je     0x444af7
444adf:	83 e8 01             	sub    $0x1,%eax
444ae2:	74 07                	je     0x444aeb
444ae4:	bf 07 00 00 80       	mov    $0x80000007,%edi
444ae9:	eb 1e                	jmp    0x444b09
444aeb:	89 59 20             	mov    %ebx,0x20(%ecx)
444aee:	c7 42 20 01 00 00 00 	movl   $0x1,0x20(%edx)
444af5:	eb 12                	jmp    0x444b09
444af7:	89 5a 20             	mov    %ebx,0x20(%edx)
444afa:	c7 41 20 02 00 00 00 	movl   $0x2,0x20(%ecx)
444b01:	eb 06                	jmp    0x444b09
444b03:	89 59 20             	mov    %ebx,0x20(%ecx)
444b06:	89 5a 20             	mov    %ebx,0x20(%edx)
444b09:	8b 45 08             	mov    0x8(%ebp),%eax
444b0c:	89 5e 20             	mov    %ebx,0x20(%esi)
444b0f:	89 30                	mov    %esi,(%eax)
444b11:	eb 57                	jmp    0x444b6a
444b13:	c6 06 00             	movb   $0x0,(%esi)
444b16:	8b 72 1c             	mov    0x1c(%edx),%esi
444b19:	85 f6                	test   %esi,%esi
444b1b:	74 0f                	je     0x444b2c
444b1d:	39 56 14             	cmp    %edx,0x14(%esi)
444b20:	75 05                	jne    0x444b27
444b22:	89 4e 14             	mov    %ecx,0x14(%esi)
444b25:	eb 07                	jmp    0x444b2e
444b27:	89 4e 18             	mov    %ecx,0x18(%esi)
444b2a:	eb 02                	jmp    0x444b2e
444b2c:	89 0b                	mov    %ecx,(%ebx)
444b2e:	8b 41 14             	mov    0x14(%ecx),%eax
444b31:	85 c0                	test   %eax,%eax
444b33:	74 03                	je     0x444b38
444b35:	89 50 1c             	mov    %edx,0x1c(%eax)
444b38:	c7 42 20 02 00 00 00 	movl   $0x2,0x20(%edx)
444b3f:	8b 41 14             	mov    0x14(%ecx),%eax
444b42:	89 42 18             	mov    %eax,0x18(%edx)
444b45:	89 4a 1c             	mov    %ecx,0x1c(%edx)
444b48:	c7 41 20 01 00 00 00 	movl   $0x1,0x20(%ecx)
444b4f:	8b 45 08             	mov    0x8(%ebp),%eax
444b52:	89 51 14             	mov    %edx,0x14(%ecx)
444b55:	89 71 1c             	mov    %esi,0x1c(%ecx)
444b58:	89 08                	mov    %ecx,(%eax)
444b5a:	eb 0e                	jmp    0x444b6a
444b5c:	89 4a 20             	mov    %ecx,0x20(%edx)
444b5f:	eb 09                	jmp    0x444b6a
444b61:	c7 42 20 02 00 00 00 	movl   $0x2,0x20(%edx)
444b68:	88 0e                	mov    %cl,(%esi)
444b6a:	8b c7                	mov    %edi,%eax
444b6c:	5f                   	pop    %edi
444b6d:	5e                   	pop    %esi
444b6e:	5b                   	pop    %ebx
444b6f:	c9                   	leave
444b70:	c2 0c 00             	ret    $0xc
444b73:	8b ff                	mov    %edi,%edi
444b75:	55                   	push   %ebp
444b76:	8b ec                	mov    %esp,%ebp
444b78:	51                   	push   %ecx
444b79:	53                   	push   %ebx
444b7a:	56                   	push   %esi
444b7b:	8b 75 10             	mov    0x10(%ebp),%esi
444b7e:	8b d9                	mov    %ecx,%ebx
444b80:	33 c9                	xor    %ecx,%ecx
444b82:	57                   	push   %edi
444b83:	8b f9                	mov    %ecx,%edi
444b85:	38 0e                	cmp    %cl,(%esi)
444b87:	0f 84 66 01 00 00    	je     0x444cf3
444b8d:	8b 55 08             	mov    0x8(%ebp),%edx