46c7f7:	8b ce                	mov    %esi,%ecx
46c7f9:	e8 82 b4 fe ff       	call   0x457c80
46c7fe:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
46c801:	75 03                	jne    0x46c806
46c803:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46c806:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46c809:	8b 45 f0             	mov    -0x10(%ebp),%eax
46c80c:	5f                   	pop    %edi
46c80d:	5e                   	pop    %esi
46c80e:	5b                   	pop    %ebx
46c80f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46c816:	c9                   	leave
46c817:	c2 04 00             	ret    $0x4
46c81a:	b8 2d 2a 48 00       	mov    $0x482a2d,%eax
46c81f:	e8 58 b4 fa ff       	call   0x417c7c
46c824:	81 ec 1c 01 00 00    	sub    $0x11c,%esp
46c82a:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
46c82f:	53                   	push   %ebx
46c830:	56                   	push   %esi
46c831:	57                   	push   %edi
46c832:	89 45 ec             	mov    %eax,-0x14(%ebp)
46c835:	8b 45 0c             	mov    0xc(%ebp),%eax
46c838:	8b 00                	mov    (%eax),%eax
46c83a:	89 65 f0             	mov    %esp,-0x10(%ebp)
46c83d:	8d 8d dc fe ff ff    	lea    -0x124(%ebp),%ecx
46c843:	51                   	push   %ecx
46c844:	50                   	push   %eax
46c845:	ff 75 08             	push   0x8(%ebp)
46c848:	ff 15 84 fe 4a 00    	call   *0x4afe84
46c84e:	8b f0                	mov    %eax,%esi
46c850:	85 f6                	test   %esi,%esi
46c852:	0f 85 bb 00 00 00    	jne    0x46c913
46c858:	68 04 01 00 00       	push   $0x104
46c85d:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
46c863:	50                   	push   %eax
46c864:	6a 00                	push   $0x0
46c866:	ff b5 dc fe ff ff    	push   -0x124(%ebp)
46c86c:	ff 15 94 fe 4a 00    	call   *0x4afe94
46c872:	8b f0                	mov    %eax,%esi
46c874:	85 f6                	test   %esi,%esi
46c876:	75 6f                	jne    0x46c8e7
46c878:	21 45 fc             	and    %eax,-0x4(%ebp)
46c87b:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
46c881:	50                   	push   %eax
46c882:	8d 8d e0 fe ff ff    	lea    -0x120(%ebp),%ecx
46c888:	e8 07 4a f9 ff       	call   0x401294
46c88d:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
46c893:	50                   	push   %eax
46c894:	ff b5 dc fe ff ff    	push   -0x124(%ebp)
46c89a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46c89e:	e8 77 ff ff ff       	call   0x46c81a
46c8a3:	8b 8d e0 fe ff ff    	mov    -0x120(%ebp),%ecx
46c8a9:	8b f0                	mov    %eax,%esi
46c8ab:	85 f6                	test   %esi,%esi
46c8ad:	0f 95 c3             	setne  %bl
46c8b0:	83 c1 f0             	add    $0xfffffff0,%ecx
46c8b3:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
46c8b7:	e8 96 4a f9 ff       	call   0x401352
46c8bc:	84 db                	test   %bl,%bl
46c8be:	75 27                	jne    0x46c8e7
46c8c0:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
46c8c4:	eb 92                	jmp    0x46c858
46c8c6:	8b 8d d8 fe ff ff    	mov    -0x128(%ebp),%ecx
46c8cc:	c7 85 e0 fe ff ff 08 	movl   $0x8,-0x120(%ebp)
46c8d3:	00 00 00
46c8d6:	e8 3e 36 fd ff       	call   0x43ff19
46c8db:	b8 e1 c8 46 00       	mov    $0x46c8e1,%eax
46c8e0:	c3                   	ret
46c8e1:	8b b5 e0 fe ff ff    	mov    -0x120(%ebp),%esi
46c8e7:	81 fe 03 01 00 00    	cmp    $0x103,%esi
46c8ed:	74 08                	je     0x46c8f7
46c8ef:	81 fe f2 03 00 00    	cmp    $0x3f2,%esi
46c8f5:	75 10                	jne    0x46c907
46c8f7:	8b 45 0c             	mov    0xc(%ebp),%eax
46c8fa:	ff 30                	push   (%eax)
46c8fc:	ff 75 08             	push   0x8(%ebp)
46c8ff:	ff 15 90 fe 4a 00    	call   *0x4afe90
46c905:	8b f0                	mov    %eax,%esi
46c907:	ff b5 dc fe ff ff    	push   -0x124(%ebp)
46c90d:	ff 15 ac fe 4a 00    	call   *0x4afeac
46c913:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46c916:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46c91d:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46c920:	8b c6                	mov    %esi,%eax
46c922:	e8 b7 b2 fa ff       	call   0x417bde
46c927:	5f                   	pop    %edi
46c928:	5e                   	pop    %esi
46c929:	5b                   	pop    %ebx
46c92a:	c9                   	leave
46c92b:	c2 08 00             	ret    $0x8
46c92e:	b8 47 2a 48 00       	mov    $0x482a47,%eax
46c933:	e8 44 b3 fa ff       	call   0x417c7c
46c938:	51                   	push   %ecx
46c939:	51                   	push   %ecx
46c93a:	56                   	push   %esi
46c93b:	57                   	push   %edi
46c93c:	8b f9                	mov    %ecx,%edi
46c93e:	e8 b3 38 fd ff       	call   0x4401f6
46c943:	8b 10                	mov    (%eax),%edx
46c945:	8b c8                	mov    %eax,%ecx
46c947:	ff 52 0c             	call   *0xc(%edx)
46c94a:	83 c0 10             	add    $0x10,%eax
46c94d:	89 45 ec             	mov    %eax,-0x14(%ebp)
46c950:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46c954:	e8 a8 0f 00 00       	call   0x46d901
46c959:	8b 40 08             	mov    0x8(%eax),%eax
46c95c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46c95f:	51                   	push   %ecx
46c960:	50                   	push   %eax
46c961:	e8 76 c1 fd ff       	call   0x448adc
46c966:	ff 75 ec             	push   -0x14(%ebp)
46c969:	ff 15 9c 05 4b 00    	call   *0x4b059c
46c96f:	50                   	push   %eax
46c970:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46c973:	e8 1c 49 f9 ff       	call   0x401294
46c978:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46c97b:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46c97f:	e8 9a ab f9 ff       	call   0x40751e
46c984:	50                   	push   %eax
46c985:	ff 15 98 05 4b 00    	call   *0x4b0598
46c98b:	6a ff                	push   $0xffffffff
46c98d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46c990:	e8 92 47 f9 ff       	call   0x401127
46c995:	ff 75 f0             	push   -0x10(%ebp)
46c998:	8b 35 dc 02 4b 00    	mov    0x4b02dc,%esi
46c99e:	ff d6                	call   *%esi
46c9a0:	68 e8 a7 48 00       	push   $0x48a7e8
46c9a5:	66 89 87 8c 00 00 00 	mov    %ax,0x8c(%edi)
46c9ac:	ff d6                	call   *%esi
46c9ae:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46c9b1:	83 c1 f0             	add    $0xfffffff0,%ecx
46c9b4:	66 89 87 8e 00 00 00 	mov    %ax,0x8e(%edi)
46c9bb:	e8 92 49 f9 ff       	call   0x401352
46c9c0:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46c9c3:	83 c1 f0             	add    $0xfffffff0,%ecx
46c9c6:	e8 87 49 f9 ff       	call   0x401352
46c9cb:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46c9ce:	5f                   	pop    %edi
46c9cf:	5e                   	pop    %esi
46c9d0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46c9d7:	c9                   	leave
46c9d8:	c3                   	ret
46c9d9:	e9 3c fe ff ff       	jmp    0x46c81a
46c9de:	b8 72 2a 48 00       	mov    $0x482a72,%eax
46c9e3:	e8 94 b2 fa ff       	call   0x417c7c
46c9e8:	81 ec 24 01 00 00    	sub    $0x124,%esp
46c9ee:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
46c9f3:	56                   	push   %esi
46c9f4:	57                   	push   %edi
46c9f5:	33 ff                	xor    %edi,%edi
46c9f7:	89 45 f0             	mov    %eax,-0x10(%ebp)
46c9fa:	8b f1                	mov    %ecx,%esi
46c9fc:	89 bd e0 fe ff ff    	mov    %edi,-0x120(%ebp)
46ca02:	e8 18 8f fe ff       	call   0x45591f
46ca07:	3b c7                	cmp    %edi,%eax
46ca09:	89 85 d8 fe ff ff    	mov    %eax,-0x128(%ebp)
46ca0f:	74 27                	je     0x46ca38
46ca11:	8b 4e 54             	mov    0x54(%esi),%ecx
46ca14:	8b 01                	mov    (%ecx),%eax
46ca16:	8d 95 d8 fe ff ff    	lea    -0x128(%ebp),%edx
46ca1c:	52                   	push   %edx
46ca1d:	ff 50 14             	call   *0x14(%eax)
46ca20:	3b c7                	cmp    %edi,%eax
46ca22:	74 0c                	je     0x46ca30
46ca24:	8b 10                	mov    (%eax),%edx
46ca26:	57                   	push   %edi
46ca27:	57                   	push   %edi
46ca28:	6a fc                	push   $0xfffffffc
46ca2a:	57                   	push   %edi
46ca2b:	8b c8                	mov    %eax,%ecx
46ca2d:	ff 52 0c             	call   *0xc(%edx)
46ca30:	39 bd d8 fe ff ff    	cmp    %edi,-0x128(%ebp)
46ca36:	75 d9                	jne    0x46ca11
46ca38:	39 7e 50             	cmp    %edi,0x50(%esi)
46ca3b:	0f 84 f7 00 00 00    	je     0x46cb38
46ca41:	68 f4 a7 48 00       	push   $0x48a7f4
46ca46:	8d 8d e4 fe ff ff    	lea    -0x11c(%ebp),%ecx
46ca4c:	e8 43 48 f9 ff       	call   0x401294
46ca51:	ff 76 50             	push   0x50(%esi)
46ca54:	8d 8d e4 fe ff ff    	lea    -0x11c(%ebp),%ecx
46ca5a:	89 7d fc             	mov    %edi,-0x4(%ebp)
46ca5d:	e8 8d ef ff ff       	call   0x46b9ef
46ca62:	68 f0 a7 48 00       	push   $0x48a7f0
46ca67:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
46ca6d:	50                   	push   %eax
46ca6e:	8d 85 d4 fe ff ff    	lea    -0x12c(%ebp),%eax
46ca74:	50                   	push   %eax
46ca75:	e8 b5 48 f9 ff       	call   0x40132f
46ca7a:	ff 76 64             	push   0x64(%esi)
46ca7d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46ca81:	50                   	push   %eax
46ca82:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
46ca88:	50                   	push   %eax
46ca89:	e8 a1 48 f9 ff       	call   0x40132f
46ca8e:	83 c4 18             	add    $0x18,%esp
46ca91:	8b 8d d4 fe ff ff    	mov    -0x12c(%ebp),%ecx
46ca97:	83 c1 f0             	add    $0xfffffff0,%ecx
46ca9a:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
46ca9e:	e8 af 48 f9 ff       	call   0x401352
46caa3:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
46caa9:	50                   	push   %eax
46caaa:	be 01 00 00 80       	mov    $0x80000001,%esi
46caaf:	56                   	push   %esi
46cab0:	e8 65 fd ff ff       	call   0x46c81a
46cab5:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
46cabb:	50                   	push   %eax
46cabc:	ff b5 e4 fe ff ff    	push   -0x11c(%ebp)
46cac2:	56                   	push   %esi
46cac3:	ff 15 84 fe 4a 00    	call   *0x4afe84
46cac9:	85 c0                	test   %eax,%eax
46cacb:	75 39                	jne    0x46cb06
46cacd:	68 04 01 00 00       	push   $0x104
46cad2:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
46cad8:	50                   	push   %eax
46cad9:	57                   	push   %edi
46cada:	ff b5 e0 fe ff ff    	push   -0x120(%ebp)
46cae0:	ff 15 94 fe 4a 00    	call   *0x4afe94
46cae6:	3d 03 01 00 00       	cmp    $0x103,%eax
46caeb:	75 0d                	jne    0x46cafa
46caed:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
46caf3:	50                   	push   %eax
46caf4:	56                   	push   %esi
46caf5:	e8 20 fd ff ff       	call   0x46c81a
46cafa:	ff b5 e0 fe ff ff    	push   -0x120(%ebp)
46cb00:	ff 15 ac fe 4a 00    	call   *0x4afeac
46cb06:	8b bd dc fe ff ff    	mov    -0x124(%ebp),%edi
46cb0c:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
46cb12:	50                   	push   %eax
46cb13:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
46cb19:	50                   	push   %eax
46cb1a:	57                   	push   %edi
46cb1b:	56                   	push   %esi
46cb1c:	ff 15 98 fe 4a 00    	call   *0x4afe98
46cb22:	8d 4f f0             	lea    -0x10(%edi),%ecx
46cb25:	e8 28 48 f9 ff       	call   0x401352
46cb2a:	8b 8d e4 fe ff ff    	mov    -0x11c(%ebp),%ecx
46cb30:	83 c1 f0             	add    $0xfffffff0,%ecx
46cb33:	e8 1a 48 f9 ff       	call   0x401352
46cb38:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46cb3b:	33 c0                	xor    %eax,%eax
46cb3d:	5f                   	pop    %edi
46cb3e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46cb45:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46cb48:	40                   	inc    %eax
46cb49:	5e                   	pop    %esi
46cb4a:	e8 8f b0 fa ff       	call   0x417bde
46cb4f:	c9                   	leave
46cb50:	c3                   	ret
46cb51:	56                   	push   %esi
46cb52:	8b f1                	mov    %ecx,%esi
46cb54:	57                   	push   %edi
46cb55:	33 ff                	xor    %edi,%edi
46cb57:	89 7e 1c             	mov    %edi,0x1c(%esi)
46cb5a:	89 7e 20             	mov    %edi,0x20(%esi)
46cb5d:	89 7e 28             	mov    %edi,0x28(%esi)
46cb60:	89 7e 2c             	mov    %edi,0x2c(%esi)
46cb63:	e8 6e 0d 00 00       	call   0x46d8d6
46cb68:	89 78 34             	mov    %edi,0x34(%eax)
46cb6b:	89 78 54             	mov    %edi,0x54(%eax)
46cb6e:	83 c0 4c             	add    $0x4c,%eax
46cb71:	50                   	push   %eax
46cb72:	ff 15 ac 07 4b 00    	call   *0x4b07ac
46cb78:	89 7e 3c             	mov    %edi,0x3c(%esi)
46cb7b:	89 7e 38             	mov    %edi,0x38(%esi)
46cb7e:	5f                   	pop    %edi
46cb7f:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
46cb86:	5e                   	pop    %esi
46cb87:	c3                   	ret
46cb88:	b8 00 a8 48 00       	mov    $0x48a800,%eax
46cb8d:	c3                   	ret
46cb8e:	b8 a0 2a 48 00       	mov    $0x482aa0,%eax
46cb93:	e8 e4 b0 fa ff       	call   0x417c7c
46cb98:	51                   	push   %ecx
46cb99:	56                   	push   %esi
46cb9a:	8b f1                	mov    %ecx,%esi
46cb9c:	89 75 f0             	mov    %esi,-0x10(%ebp)
46cb9f:	e8 60 55 fd ff       	call   0x442104
46cba4:	8b 45 08             	mov    0x8(%ebp),%eax
46cba7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46cbab:	89 46 34             	mov    %eax,0x34(%esi)
46cbae:	8b 45 0c             	mov    0xc(%ebp),%eax
46cbb1:	8b ce                	mov    %esi,%ecx
46cbb3:	c7 06 2c a8 48 00    	movl   $0x48a82c,(%esi)
46cbb9:	89 46 30             	mov    %eax,0x30(%esi)
46cbbc:	e8 90 ff ff ff       	call   0x46cb51
46cbc1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46cbc4:	8b c6                	mov    %esi,%eax
46cbc6:	5e                   	pop    %esi
46cbc7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46cbce:	c9                   	leave
46cbcf:	c2 08 00             	ret    $0x8
46cbd2:	56                   	push   %esi
46cbd3:	8b f1                	mov    %ecx,%esi
46cbd5:	e8 da 42 01 00       	call   0x480eb4
46cbda:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
46cbdf:	74 07                	je     0x46cbe8
46cbe1:	56                   	push   %esi
46cbe2:	e8 99 34 fd ff       	call   0x440080
46cbe7:	59                   	pop    %ecx
46cbe8:	8b c6                	mov    %esi,%eax
46cbea:	5e                   	pop    %esi
46cbeb:	c2 04 00             	ret    $0x4
46cbee:	b8 b2 2a 48 00       	mov    $0x482ab2,%eax
46cbf3:	e8 84 b0 fa ff       	call   0x417c7c
46cbf8:	51                   	push   %ecx
46cbf9:	56                   	push   %esi
46cbfa:	8b f1                	mov    %ecx,%esi
46cbfc:	89 75 f0             	mov    %esi,-0x10(%ebp)
46cbff:	e8 00 55 fd ff       	call   0x442104
46cc04:	33 c0                	xor    %eax,%eax
46cc06:	8b ce                	mov    %esi,%ecx
46cc08:	89 45 fc             	mov    %eax,-0x4(%ebp)
46cc0b:	c7 06 2c a8 48 00    	movl   $0x48a82c,(%esi)
46cc11:	89 46 30             	mov    %eax,0x30(%esi)
46cc14:	89 46 34             	mov    %eax,0x34(%esi)
46cc17:	e8 35 ff ff ff       	call   0x46cb51
46cc1c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46cc1f:	8b c6                	mov    %esi,%eax
46cc21:	5e                   	pop    %esi
46cc22:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46cc29:	c9                   	leave
46cc2a:	c3                   	ret
46cc2b:	8b 01                	mov    (%ecx),%eax
46cc2d:	c3                   	ret
46cc2e:	55                   	push   %ebp
46cc2f:	8d 6c 24 88          	lea    -0x78(%esp),%ebp
46cc33:	81 ec 94 00 00 00    	sub    $0x94,%esp
46cc39:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
46cc3e:	53                   	push   %ebx
46cc3f:	56                   	push   %esi
46cc40:	57                   	push   %edi
46cc41:	89 45 74             	mov    %eax,0x74(%ebp)
46cc44:	ff 15 80 07 4b 00    	call   *0x4b0780
46cc4a:	0f bf d8             	movswl %ax,%ebx
46cc4d:	c1 e8 10             	shr    $0x10,%eax
46cc50:	83 fb 20             	cmp    $0x20,%ebx
46cc53:	0f bf c8             	movswl %ax,%ecx
46cc56:	89 4d e8             	mov    %ecx,-0x18(%ebp)
46cc59:	7e 03                	jle    0x46cc5e
46cc5b:	6a 20                	push   $0x20
46cc5d:	5b                   	pop    %ebx
46cc5e:	8d 43 fc             	lea    -0x4(%ebx),%eax
46cc61:	99                   	cltd
46cc62:	2b c2                	sub    %edx,%eax
46cc64:	8d 73 0f             	lea    0xf(%ebx),%esi
46cc67:	c1 fe 04             	sar    $0x4,%esi
46cc6a:	8b f8                	mov    %eax,%edi
46cc6c:	d1 ff                	sar    $1,%edi
46cc6e:	8b c6                	mov    %esi,%eax
46cc70:	c1 e0 04             	shl    $0x4,%eax