45a71c:	8b d6                	mov    %esi,%edx
45a71e:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
45a724:	e8 63 96 fb ff       	call   0x413d8c
45a729:	8b 10                	mov    (%eax),%edx
45a72b:	3b 55 08             	cmp    0x8(%ebp),%edx
45a72e:	75 21                	jne    0x45a751
45a730:	8b 55 0c             	mov    0xc(%ebp),%edx
45a733:	3b 50 04             	cmp    0x4(%eax),%edx
45a736:	75 19                	jne    0x45a751
45a738:	ba 08 00 00 00       	mov    $0x8,%edx
45a73d:	e8 9a 7f fa ff       	call   0x4026dc
45a742:	8b d6                	mov    %esi,%edx
45a744:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
45a74a:	e8 2d 95 fb ff       	call   0x413c7c
45a74f:	eb 04                	jmp    0x45a755
45a751:	46                   	inc    %esi
45a752:	4f                   	dec    %edi
45a753:	75 c7                	jne    0x45a71c
45a755:	5f                   	pop    %edi
45a756:	5e                   	pop    %esi
45a757:	5b                   	pop    %ebx
45a758:	5d                   	pop    %ebp
45a759:	c2 08 00             	ret    $0x8
45a75c:	53                   	push   %ebx
45a75d:	a1 68 7e 46 00       	mov    0x467e68,%eax
45a762:	83 38 00             	cmpl   $0x0,(%eax)
45a765:	74 0a                	je     0x45a771
45a767:	8b 1d 68 7e 46 00    	mov    0x467e68,%ebx
45a76d:	8b 1b                	mov    (%ebx),%ebx
45a76f:	ff d3                	call   *%ebx
45a771:	5b                   	pop    %ebx
45a772:	c3                   	ret
45a773:	90                   	nop
45a774:	55                   	push   %ebp
45a775:	8b ec                	mov    %esp,%ebp
45a777:	51                   	push   %ecx
45a778:	53                   	push   %ebx
45a779:	56                   	push   %esi
45a77a:	57                   	push   %edi
45a77b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
45a77e:	8b da                	mov    %edx,%ebx
45a780:	8b f0                	mov    %eax,%esi
45a782:	8b c3                	mov    %ebx,%eax
45a784:	ff 50 f4             	call   *-0xc(%eax)
45a787:	8b d8                	mov    %eax,%ebx
45a789:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a78c:	89 18                	mov    %ebx,(%eax)
45a78e:	33 c0                	xor    %eax,%eax
45a790:	55                   	push   %ebp
45a791:	68 b2 a7 45 00       	push   $0x45a7b2
45a796:	64 ff 30             	push   %fs:(%eax)
45a799:	64 89 20             	mov    %esp,%fs:(%eax)
45a79c:	8b ce                	mov    %esi,%ecx
45a79e:	83 ca ff             	or     $0xffffffff,%edx
45a7a1:	8b c3                	mov    %ebx,%eax
45a7a3:	8b 38                	mov    (%eax),%edi
45a7a5:	ff 57 2c             	call   *0x2c(%edi)
45a7a8:	33 c0                	xor    %eax,%eax
45a7aa:	5a                   	pop    %edx
45a7ab:	59                   	pop    %ecx
45a7ac:	59                   	pop    %ecx
45a7ad:	64 89 10             	mov    %edx,%fs:(%eax)
45a7b0:	eb 16                	jmp    0x45a7c8
45a7b2:	e9 55 8f fa ff       	jmp    0x40370c
45a7b7:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a7ba:	33 d2                	xor    %edx,%edx
45a7bc:	89 10                	mov    %edx,(%eax)
45a7be:	e8 5d 92 fa ff       	call   0x403a20
45a7c3:	e8 ac 92 fa ff       	call   0x403a74
45a7c8:	83 7e 44 00          	cmpl   $0x0,0x44(%esi)
45a7cc:	75 1d                	jne    0x45a7eb
45a7ce:	8b c3                	mov    %ebx,%eax
45a7d0:	8b 15 18 05 45 00    	mov    0x450518,%edx
45a7d6:	e8 1d 8c fa ff       	call   0x4033f8
45a7db:	84 c0                	test   %al,%al
45a7dd:	74 0c                	je     0x45a7eb
45a7df:	8b fb                	mov    %ebx,%edi
45a7e1:	8b c7                	mov    %edi,%eax
45a7e3:	e8 50 6c fe ff       	call   0x441438
45a7e8:	89 7e 44             	mov    %edi,0x44(%esi)
45a7eb:	5f                   	pop    %edi
45a7ec:	5e                   	pop    %esi
45a7ed:	5b                   	pop    %ebx
45a7ee:	59                   	pop    %ecx
45a7ef:	5d                   	pop    %ebp
45a7f0:	c3                   	ret
45a7f1:	8d 40 00             	lea    0x0(%eax),%eax
45a7f4:	55                   	push   %ebp
45a7f5:	8b ec                	mov    %esp,%ebp
45a7f7:	51                   	push   %ecx
45a7f8:	53                   	push   %ebx
45a7f9:	56                   	push   %esi
45a7fa:	57                   	push   %edi
45a7fb:	89 45 fc             	mov    %eax,-0x4(%ebp)
45a7fe:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a801:	c6 80 a5 00 00 00 01 	movb   $0x1,0xa5(%eax)
45a808:	33 d2                	xor    %edx,%edx
45a80a:	55                   	push   %ebp
45a80b:	68 d2 a8 45 00       	push   $0x45a8d2
45a810:	64 ff 32             	push   %fs:(%edx)
45a813:	64 89 22             	mov    %esp,%fs:(%edx)
45a816:	b8 04 17 45 00       	mov    $0x451704,%eax
45a81b:	e8 28 d3 fa ff       	call   0x407b48
45a820:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a823:	8b 40 44             	mov    0x44(%eax),%eax
45a826:	85 c0                	test   %eax,%eax
45a828:	0f 84 8c 00 00 00    	je     0x45a8ba
45a82e:	8b 15 cc 7e 46 00    	mov    0x467ecc,%edx
45a834:	8b 12                	mov    (%edx),%edx
45a836:	83 ea 03             	sub    $0x3,%edx
45a839:	74 0e                	je     0x45a849
45a83b:	83 ea 04             	sub    $0x4,%edx
45a83e:	75 10                	jne    0x45a850
45a840:	c6 80 2b 02 00 00 01 	movb   $0x1,0x22b(%eax)
45a847:	eb 07                	jmp    0x45a850
45a849:	b2 02                	mov    $0x2,%dl
45a84b:	e8 98 a6 ff ff       	call   0x454ee8
45a850:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a853:	80 78 5b 00          	cmpb   $0x0,0x5b(%eax)
45a857:	74 20                	je     0x45a879
45a859:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a85c:	8b 40 44             	mov    0x44(%eax),%eax
45a85f:	80 b8 2b 02 00 00 01 	cmpb   $0x1,0x22b(%eax)
45a866:	75 0a                	jne    0x45a872
45a868:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a86b:	e8 54 f9 ff ff       	call   0x45a1c4
45a870:	eb 07                	jmp    0x45a879
45a872:	b2 01                	mov    $0x1,%dl
45a874:	e8 77 95 ff ff       	call   0x453df0
45a879:	33 c0                	xor    %eax,%eax
45a87b:	55                   	push   %ebp
45a87c:	68 99 a8 45 00       	push   $0x45a899
45a881:	64 ff 30             	push   %fs:(%eax)
45a884:	64 89 20             	mov    %esp,%fs:(%eax)
45a887:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a88a:	e8 d1 fd ff ff       	call   0x45a660
45a88f:	33 c0                	xor    %eax,%eax
45a891:	5a                   	pop    %edx
45a892:	59                   	pop    %ecx
45a893:	59                   	pop    %ecx
45a894:	64 89 10             	mov    %edx,%fs:(%eax)
45a897:	eb 15                	jmp    0x45a8ae
45a899:	e9 6e 8e fa ff       	jmp    0x40370c
45a89e:	8b 55 fc             	mov    -0x4(%ebp),%edx
45a8a1:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a8a4:	e8 4b 00 00 00       	call   0x45a8f4
45a8a9:	e8 c6 91 fa ff       	call   0x403a74
45a8ae:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a8b1:	80 b8 9c 00 00 00 00 	cmpb   $0x0,0x9c(%eax)
45a8b8:	74 bf                	je     0x45a879
45a8ba:	33 c0                	xor    %eax,%eax
45a8bc:	5a                   	pop    %edx
45a8bd:	59                   	pop    %ecx
45a8be:	59                   	pop    %ecx
45a8bf:	64 89 10             	mov    %edx,%fs:(%eax)
45a8c2:	68 d9 a8 45 00       	push   $0x45a8d9
45a8c7:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a8ca:	c6 80 a5 00 00 00 00 	movb   $0x0,0xa5(%eax)
45a8d1:	c3                   	ret
45a8d2:	e9 e9 90 fa ff       	jmp    0x4039c0
45a8d7:	eb ee                	jmp    0x45a8c7
45a8d9:	5f                   	pop    %edi
45a8da:	5e                   	pop    %esi
45a8db:	5b                   	pop    %ebx
45a8dc:	59                   	pop    %ecx
45a8dd:	5d                   	pop    %ebp
45a8de:	c3                   	ret
45a8df:	90                   	nop
45a8e0:	e8 af 23 fb ff       	call   0x40cc94
45a8e5:	84 c0                	test   %al,%al
45a8e7:	74 07                	je     0x45a8f0
45a8e9:	6a 00                	push   $0x0
45a8eb:	e8 c0 be fa ff       	call   0x4067b0
45a8f0:	c3                   	ret
45a8f1:	8d 40 00             	lea    0x0(%eax),%eax
45a8f4:	53                   	push   %ebx
45a8f5:	56                   	push   %esi
45a8f6:	8b f2                	mov    %edx,%esi
45a8f8:	8b d8                	mov    %eax,%ebx
45a8fa:	e8 71 bc fa ff       	call   0x406570
45a8ff:	85 c0                	test   %eax,%eax
45a901:	74 11                	je     0x45a914
45a903:	6a 00                	push   $0x0
45a905:	6a 00                	push   $0x0
45a907:	6a 1f                	push   $0x1f
45a909:	e8 62 bc fa ff       	call   0x406570
45a90e:	50                   	push   %eax
45a90f:	e8 fc be fa ff       	call   0x406810
45a914:	e8 33 7e fa ff       	call   0x40274c
45a919:	8b 15 08 6f 40 00    	mov    0x406f08,%edx
45a91f:	e8 d4 8a fa ff       	call   0x4033f8
45a924:	84 c0                	test   %al,%al
45a926:	74 46                	je     0x45a96e
45a928:	e8 1f 7e fa ff       	call   0x40274c
45a92d:	8b 15 a0 d0 45 00    	mov    0x45d0a0,%edx
45a933:	e8 c0 8a fa ff       	call   0x4033f8
45a938:	84 c0                	test   %al,%al
45a93a:	75 43                	jne    0x45a97f
45a93c:	66 83 bb d2 00 00 00 	cmpw   $0x0,0xd2(%ebx)
45a943:	00
45a944:	74 17                	je     0x45a95d
45a946:	e8 01 7e fa ff       	call   0x40274c
45a94b:	8b c8                	mov    %eax,%ecx
45a94d:	8b d6                	mov    %esi,%edx
45a94f:	8b 83 d4 00 00 00    	mov    0xd4(%ebx),%eax
45a955:	ff 93 d0 00 00 00    	call   *0xd0(%ebx)
45a95b:	eb 22                	jmp    0x45a97f
45a95d:	e8 ea 7d fa ff       	call   0x40274c
45a962:	8b d0                	mov    %eax,%edx
45a964:	8b c3                	mov    %ebx,%eax
45a966:	e8 81 01 00 00       	call   0x45aaec
45a96b:	5e                   	pop    %esi
45a96c:	5b                   	pop    %ebx
45a96d:	c3                   	ret
45a96e:	e8 f9 7d fa ff       	call   0x40276c
45a973:	50                   	push   %eax
45a974:	e8 d3 7d fa ff       	call   0x40274c
45a979:	5a                   	pop    %edx
45a97a:	e8 19 0d fb ff       	call   0x40b698
45a97f:	5e                   	pop    %esi
45a980:	5b                   	pop    %ebx
45a981:	c3                   	ret
45a982:	8b c0                	mov    %eax,%eax
45a984:	55                   	push   %ebp
45a985:	8b ec                	mov    %esp,%ebp
45a987:	83 c4 ac             	add    $0xffffffac,%esp
45a98a:	53                   	push   %ebx
45a98b:	56                   	push   %esi
45a98c:	57                   	push   %edi
45a98d:	8b f9                	mov    %ecx,%edi
45a98f:	8b f2                	mov    %edx,%esi
45a991:	89 45 fc             	mov    %eax,-0x4(%ebp)
45a994:	8b 5d 08             	mov    0x8(%ebp),%ebx
45a997:	e8 cc bb fa ff       	call   0x406568
45a99c:	89 45 f4             	mov    %eax,-0xc(%ebp)
45a99f:	6a 02                	push   $0x2
45a9a1:	8b 45 f4             	mov    -0xc(%ebp),%eax
45a9a4:	50                   	push   %eax
45a9a5:	a1 44 7e 46 00       	mov    0x467e44,%eax
45a9aa:	8b 00                	mov    (%eax),%eax
45a9ac:	ff d0                	call   *%eax
45a9ae:	89 45 ec             	mov    %eax,-0x14(%ebp)
45a9b1:	6a 02                	push   $0x2
45a9b3:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a9b6:	8b 40 30             	mov    0x30(%eax),%eax
45a9b9:	50                   	push   %eax
45a9ba:	a1 44 7e 46 00       	mov    0x467e44,%eax
45a9bf:	8b 00                	mov    (%eax),%eax
45a9c1:	ff d0                	call   *%eax
45a9c3:	89 45 e8             	mov    %eax,-0x18(%ebp)
45a9c6:	8b 45 ec             	mov    -0x14(%ebp),%eax
45a9c9:	3b 45 e8             	cmp    -0x18(%ebp),%eax
45a9cc:	74 60                	je     0x45aa2e
45a9ce:	c7 45 bc 28 00 00 00 	movl   $0x28,-0x44(%ebp)
45a9d5:	8d 45 bc             	lea    -0x44(%ebp),%eax
45a9d8:	50                   	push   %eax
45a9d9:	8b 45 ec             	mov    -0x14(%ebp),%eax
45a9dc:	50                   	push   %eax
45a9dd:	a1 90 7d 46 00       	mov    0x467d90,%eax
45a9e2:	8b 00                	mov    (%eax),%eax
45a9e4:	ff d0                	call   *%eax
45a9e6:	8d 45 ac             	lea    -0x54(%ebp),%eax
45a9e9:	50                   	push   %eax
45a9ea:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a9ed:	8b 40 30             	mov    0x30(%eax),%eax
45a9f0:	50                   	push   %eax
45a9f1:	e8 ca bc fa ff       	call   0x4066c0
45a9f6:	6a 1d                	push   $0x1d
45a9f8:	6a 00                	push   $0x0
45a9fa:	6a 00                	push   $0x0
45a9fc:	8b 4d cc             	mov    -0x34(%ebp),%ecx
45a9ff:	8b 55 c4             	mov    -0x3c(%ebp),%edx
45aa02:	2b ca                	sub    %edx,%ecx
45aa04:	d1 f9                	sar    $1,%ecx
45aa06:	79 03                	jns    0x45aa0b
45aa08:	83 d1 00             	adc    $0x0,%ecx
45aa0b:	03 ca                	add    %edx,%ecx
45aa0d:	51                   	push   %ecx
45aa0e:	8b 55 c8             	mov    -0x38(%ebp),%edx
45aa11:	8b 45 c0             	mov    -0x40(%ebp),%eax
45aa14:	2b d0                	sub    %eax,%edx
45aa16:	d1 fa                	sar    $1,%edx
45aa18:	79 03                	jns    0x45aa1d
45aa1a:	83 d2 00             	adc    $0x0,%edx
45aa1d:	03 d0                	add    %eax,%edx
45aa1f:	52                   	push   %edx
45aa20:	6a 00                	push   $0x0
45aa22:	8b 45 fc             	mov    -0x4(%ebp),%eax
45aa25:	8b 40 30             	mov    0x30(%eax),%eax
45aa28:	50                   	push   %eax
45aa29:	e8 72 be fa ff       	call   0x4068a0
45aa2e:	33 c0                	xor    %eax,%eax
45aa30:	e8 57 6d ff ff       	call   0x45178c
45aa35:	89 45 f0             	mov    %eax,-0x10(%ebp)
45aa38:	e8 6b 6c ff ff       	call   0x4516a8
45aa3d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45aa40:	8b 45 fc             	mov    -0x4(%ebp),%eax
45aa43:	e8 e0 ee ff ff       	call   0x459928
45aa48:	84 c0                	test   %al,%al
45aa4a:	74 06                	je     0x45aa52
45aa4c:	81 cb 00 00 10 00    	or     $0x100000,%ebx
45aa52:	33 c9                	xor    %ecx,%ecx
45aa54:	55                   	push   %ebp
45aa55:	68 d9 aa 45 00       	push   $0x45aad9
45aa5a:	64 ff 31             	push   %fs:(%ecx)
45aa5d:	64 89 21             	mov    %esp,%fs:(%ecx)
45aa60:	53                   	push   %ebx
45aa61:	57                   	push   %edi
45aa62:	56                   	push   %esi
45aa63:	8b 45 fc             	mov    -0x4(%ebp),%eax
45aa66:	8b 40 30             	mov    0x30(%eax),%eax
45aa69:	50                   	push   %eax
45aa6a:	e8 19 bd fa ff       	call   0x406788
45aa6f:	89 45 f8             	mov    %eax,-0x8(%ebp)
45aa72:	33 c0                	xor    %eax,%eax
45aa74:	5a                   	pop    %edx
45aa75:	59                   	pop    %ecx
45aa76:	59                   	pop    %ecx
45aa77:	64 89 10             	mov    %edx,%fs:(%eax)
45aa7a:	68 e0 aa 45 00       	push   $0x45aae0
45aa7f:	8b 45 ec             	mov    -0x14(%ebp),%eax
45aa82:	3b 45 e8             	cmp    -0x18(%ebp),%eax
45aa85:	74 38                	je     0x45aabf
45aa87:	6a 1d                	push   $0x1d
45aa89:	6a 00                	push   $0x0
45aa8b:	6a 00                	push   $0x0
45aa8d:	8b 4d b8             	mov    -0x48(%ebp),%ecx
45aa90:	8b 55 b0             	mov    -0x50(%ebp),%edx
45aa93:	2b ca                	sub    %edx,%ecx
45aa95:	d1 f9                	sar    $1,%ecx
45aa97:	79 03                	jns    0x45aa9c
45aa99:	83 d1 00             	adc    $0x0,%ecx
45aa9c:	03 ca                	add    %edx,%ecx
45aa9e:	51                   	push   %ecx
45aa9f:	8b 55 b4             	mov    -0x4c(%ebp),%edx
45aaa2:	8b 45 ac             	mov    -0x54(%ebp),%eax
45aaa5:	2b d0                	sub    %eax,%edx
45aaa7:	d1 fa                	sar    $1,%edx
45aaa9:	79 03                	jns    0x45aaae
45aaab:	83 d2 00             	adc    $0x0,%edx
45aaae:	03 d0                	add    %eax,%edx
45aab0:	52                   	push   %edx
45aab1:	6a 00                	push   $0x0
45aab3:	8b 45 fc             	mov    -0x4(%ebp),%eax
45aab6:	8b 40 30             	mov    0x30(%eax),%eax
45aab9:	50                   	push   %eax
45aaba:	e8 e1 bd fa ff       	call   0x4068a0
45aabf:	8b 45 f0             	mov    -0x10(%ebp),%eax
45aac2:	e8 79 6d ff ff       	call   0x451840
45aac7:	8b 45 f4             	mov    -0xc(%ebp),%eax