46383a:	8d 1c 45 02 00 00 00 	lea    0x2(,%eax,2),%ebx
463841:	8b 47 04             	mov    0x4(%edi),%eax
463844:	59                   	pop    %ecx
463845:	8b 70 0c             	mov    0xc(%eax),%esi
463848:	8b ce                	mov    %esi,%ecx
46384a:	e8 1d 5b fa ff       	call   0x40936c
46384f:	8b 46 08             	mov    0x8(%esi),%eax
463852:	8b 38                	mov    (%eax),%edi
463854:	8b 45 08             	mov    0x8(%ebp),%eax
463857:	8b 40 04             	mov    0x4(%eax),%eax
46385a:	8b 70 04             	mov    0x4(%eax),%esi
46385d:	8b ce                	mov    %esi,%ecx
46385f:	e8 08 5b fa ff       	call   0x40936c
463864:	8b 46 08             	mov    0x8(%esi),%eax
463867:	53                   	push   %ebx
463868:	57                   	push   %edi
463869:	6a 02                	push   $0x2
46386b:	33 db                	xor    %ebx,%ebx
46386d:	53                   	push   %ebx
46386e:	ff 30                	push   (%eax)
463870:	ff 74 24 20          	push   0x20(%esp)
463874:	ff 15 14 d0 48 00    	call   *0x48d014
46387a:	85 c0                	test   %eax,%eax
46387c:	0f 84 08 03 00 00    	je     0x463b8a
463882:	8b 54 24 14          	mov    0x14(%esp),%edx
463886:	53                   	push   %ebx
463887:	50                   	push   %eax
463888:	8b 02                	mov    (%edx),%eax
46388a:	8b 48 04             	mov    0x4(%eax),%ecx
46388d:	03 ca                	add    %edx,%ecx
46388f:	e8 8d fa f9 ff       	call   0x403321
463894:	8b 75 0c             	mov    0xc(%ebp),%esi
463897:	8b ce                	mov    %esi,%ecx
463899:	e8 82 f3 fa ff       	call   0x412c20
46389e:	89 1e                	mov    %ebx,(%esi)
4638a0:	e9 de 02 00 00       	jmp    0x463b83
4638a5:	8b 70 08             	mov    0x8(%eax),%esi
4638a8:	8b ce                	mov    %esi,%ecx
4638aa:	e8 bd 5a fa ff       	call   0x40936c
4638af:	8b 46 08             	mov    0x8(%esi),%eax
4638b2:	68 30 46 4b 00       	push   $0x4b4630
4638b7:	ff 30                	push   (%eax)
4638b9:	e8 e9 d6 fb ff       	call   0x420fa7
4638be:	59                   	pop    %ecx
4638bf:	85 c0                	test   %eax,%eax
4638c1:	8b 47 04             	mov    0x4(%edi),%eax
4638c4:	59                   	pop    %ecx
4638c5:	0f 85 84 00 00 00    	jne    0x46394f
4638cb:	8b 70 0c             	mov    0xc(%eax),%esi
4638ce:	8b ce                	mov    %esi,%ecx
4638d0:	e8 97 5a fa ff       	call   0x40936c
4638d5:	8b 46 08             	mov    0x8(%esi),%eax
4638d8:	ff 30                	push   (%eax)
4638da:	e8 fc d3 fb ff       	call   0x420cdb
4638df:	8d 1c 45 02 00 00 00 	lea    0x2(,%eax,2),%ebx
4638e6:	8b 47 04             	mov    0x4(%edi),%eax
4638e9:	59                   	pop    %ecx
4638ea:	8b 70 0c             	mov    0xc(%eax),%esi
4638ed:	8b ce                	mov    %esi,%ecx
4638ef:	e8 78 5a fa ff       	call   0x40936c
4638f4:	8b 46 08             	mov    0x8(%esi),%eax
4638f7:	8b 38                	mov    (%eax),%edi
4638f9:	8b 45 08             	mov    0x8(%ebp),%eax
4638fc:	8b 40 04             	mov    0x4(%eax),%eax
4638ff:	8b 70 04             	mov    0x4(%eax),%esi
463902:	8b ce                	mov    %esi,%ecx
463904:	e8 63 5a fa ff       	call   0x40936c
463909:	8b 46 08             	mov    0x8(%esi),%eax
46390c:	53                   	push   %ebx
46390d:	57                   	push   %edi
46390e:	33 ff                	xor    %edi,%edi
463910:	47                   	inc    %edi
463911:	57                   	push   %edi
463912:	33 db                	xor    %ebx,%ebx
463914:	53                   	push   %ebx
463915:	ff 30                	push   (%eax)
463917:	ff 74 24 20          	push   0x20(%esp)
46391b:	ff 15 14 d0 48 00    	call   *0x48d014
463921:	85 c0                	test   %eax,%eax
463923:	0f 84 61 02 00 00    	je     0x463b8a
463929:	8b 54 24 14          	mov    0x14(%esp),%edx
46392d:	53                   	push   %ebx
46392e:	50                   	push   %eax
46392f:	8b 02                	mov    (%edx),%eax
463931:	8b 48 04             	mov    0x4(%eax),%ecx
463934:	03 ca                	add    %edx,%ecx
463936:	e8 e6 f9 f9 ff       	call   0x403321
46393b:	8b 75 0c             	mov    0xc(%ebp),%esi
46393e:	8b ce                	mov    %esi,%ecx
463940:	e8 db f2 fa ff       	call   0x412c20
463945:	89 7e 0c             	mov    %edi,0xc(%esi)
463948:	89 1e                	mov    %ebx,(%esi)
46394a:	e9 3b 02 00 00       	jmp    0x463b8a
46394f:	8b 70 08             	mov    0x8(%eax),%esi
463952:	8b ce                	mov    %esi,%ecx
463954:	e8 13 5a fa ff       	call   0x40936c
463959:	8b 46 08             	mov    0x8(%esi),%eax
46395c:	68 40 46 4b 00       	push   $0x4b4640
463961:	ff 30                	push   (%eax)
463963:	e8 3f d6 fb ff       	call   0x420fa7
463968:	59                   	pop    %ecx
463969:	85 c0                	test   %eax,%eax
46396b:	8b 47 04             	mov    0x4(%edi),%eax
46396e:	59                   	pop    %ecx
46396f:	0f 85 e3 00 00 00    	jne    0x463a58
463975:	8b 70 0c             	mov    0xc(%eax),%esi
463978:	8b ce                	mov    %esi,%ecx
46397a:	e8 ed 59 fa ff       	call   0x40936c
46397f:	8b 46 08             	mov    0x8(%esi),%eax
463982:	33 c9                	xor    %ecx,%ecx
463984:	8b 40 04             	mov    0x4(%eax),%eax
463987:	89 44 24 14          	mov    %eax,0x14(%esp)
46398b:	83 c0 02             	add    $0x2,%eax
46398e:	6a 02                	push   $0x2
463990:	5a                   	pop    %edx
463991:	89 44 24 20          	mov    %eax,0x20(%esp)
463995:	f7 e2                	mul    %edx
463997:	0f 90 c1             	seto   %cl
46399a:	f7 d9                	neg    %ecx
46399c:	0b c8                	or     %eax,%ecx
46399e:	51                   	push   %ecx
46399f:	e8 46 bb fb ff       	call   0x41f4ea
4639a4:	59                   	pop    %ecx
4639a5:	8b 4f 04             	mov    0x4(%edi),%ecx
4639a8:	89 44 24 18          	mov    %eax,0x18(%esp)
4639ac:	8b 71 0c             	mov    0xc(%ecx),%esi
4639af:	8b ce                	mov    %esi,%ecx
4639b1:	e8 b6 59 fa ff       	call   0x40936c
4639b6:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4639ba:	8b 56 08             	mov    0x8(%esi),%edx
4639bd:	8b 74 24 18          	mov    0x18(%esp),%esi
4639c1:	8b 12                	mov    (%edx),%edx
4639c3:	41                   	inc    %ecx
4639c4:	51                   	push   %ecx
4639c5:	8b ce                	mov    %esi,%ecx
4639c7:	e8 1a 17 fa ff       	call   0x4050e6
4639cc:	59                   	pop    %ecx
4639cd:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4639d1:	33 c0                	xor    %eax,%eax
4639d3:	89 04 4e             	mov    %eax,(%esi,%ecx,2)
4639d6:	85 c9                	test   %ecx,%ecx
4639d8:	74 1e                	je     0x4639f8
4639da:	66 83 3c 46 0a       	cmpw   $0xa,(%esi,%eax,2)
4639df:	75 06                	jne    0x4639e7
4639e1:	33 d2                	xor    %edx,%edx
4639e3:	66 89 14 46          	mov    %dx,(%esi,%eax,2)
4639e7:	40                   	inc    %eax
4639e8:	3b c1                	cmp    %ecx,%eax
4639ea:	72 ee                	jb     0x4639da
4639ec:	85 c9                	test   %ecx,%ecx
4639ee:	74 08                	je     0x4639f8
4639f0:	8b 44 24 20          	mov    0x20(%esp),%eax
4639f4:	89 44 24 14          	mov    %eax,0x14(%esp)
4639f8:	8b 47 04             	mov    0x4(%edi),%eax
4639fb:	8b 70 04             	mov    0x4(%eax),%esi
4639fe:	8b ce                	mov    %esi,%ecx
463a00:	e8 67 59 fa ff       	call   0x40936c
463a05:	8b 46 08             	mov    0x8(%esi),%eax
463a08:	8b 7c 24 18          	mov    0x18(%esp),%edi
463a0c:	8b 08                	mov    (%eax),%ecx
463a0e:	8b 44 24 14          	mov    0x14(%esp),%eax
463a12:	03 c0                	add    %eax,%eax
463a14:	50                   	push   %eax
463a15:	57                   	push   %edi
463a16:	6a 07                	push   $0x7
463a18:	6a 00                	push   $0x0
463a1a:	51                   	push   %ecx
463a1b:	ff 74 24 20          	push   0x20(%esp)
463a1f:	ff 15 14 d0 48 00    	call   *0x48d014
463a25:	85 c0                	test   %eax,%eax
463a27:	74 23                	je     0x463a4c
463a29:	6a 00                	push   $0x0
463a2b:	50                   	push   %eax
463a2c:	8b 03                	mov    (%ebx),%eax
463a2e:	8b 48 04             	mov    0x4(%eax),%ecx
463a31:	03 cb                	add    %ebx,%ecx
463a33:	e8 e9 f8 f9 ff       	call   0x403321
463a38:	8b 75 0c             	mov    0xc(%ebp),%esi
463a3b:	8b ce                	mov    %esi,%ecx
463a3d:	e8 de f1 fa ff       	call   0x412c20
463a42:	83 26 00             	andl   $0x0,(%esi)
463a45:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
463a4c:	57                   	push   %edi
463a4d:	e8 0c bb fb ff       	call   0x41f55e
463a52:	59                   	pop    %ecx
463a53:	e9 32 01 00 00       	jmp    0x463b8a
463a58:	8b 70 08             	mov    0x8(%eax),%esi
463a5b:	8b ce                	mov    %esi,%ecx
463a5d:	e8 0a 59 fa ff       	call   0x40936c
463a62:	8b 46 08             	mov    0x8(%esi),%eax
463a65:	68 5c 46 4b 00       	push   $0x4b465c
463a6a:	ff 30                	push   (%eax)
463a6c:	e8 36 d5 fb ff       	call   0x420fa7
463a71:	59                   	pop    %ecx
463a72:	85 c0                	test   %eax,%eax
463a74:	8b 47 04             	mov    0x4(%edi),%eax
463a77:	59                   	pop    %ecx
463a78:	75 5b                	jne    0x463ad5
463a7a:	8b 48 0c             	mov    0xc(%eax),%ecx
463a7d:	e8 04 98 fa ff       	call   0x40d286
463a82:	89 44 24 20          	mov    %eax,0x20(%esp)
463a86:	8b 47 04             	mov    0x4(%edi),%eax
463a89:	8b 70 04             	mov    0x4(%eax),%esi
463a8c:	8b ce                	mov    %esi,%ecx
463a8e:	e8 d9 58 fa ff       	call   0x40936c
463a93:	6a 04                	push   $0x4
463a95:	8d 4c 24 24          	lea    0x24(%esp),%ecx
463a99:	51                   	push   %ecx
463a9a:	6a 04                	push   $0x4
463a9c:	8b 46 08             	mov    0x8(%esi),%eax
463a9f:	33 ff                	xor    %edi,%edi
463aa1:	57                   	push   %edi
463aa2:	ff 30                	push   (%eax)
463aa4:	ff 74 24 20          	push   0x20(%esp)
463aa8:	ff 15 14 d0 48 00    	call   *0x48d014
463aae:	85 c0                	test   %eax,%eax
463ab0:	0f 84 d4 00 00 00    	je     0x463b8a
463ab6:	57                   	push   %edi
463ab7:	50                   	push   %eax
463ab8:	8b 03                	mov    (%ebx),%eax
463aba:	8b 48 04             	mov    0x4(%eax),%ecx
463abd:	03 cb                	add    %ebx,%ecx
463abf:	e8 5d f8 f9 ff       	call   0x403321
463ac4:	8b 75 0c             	mov    0xc(%ebp),%esi
463ac7:	8b ce                	mov    %esi,%ecx
463ac9:	e8 52 f1 fa ff       	call   0x412c20
463ace:	89 3e                	mov    %edi,(%esi)
463ad0:	e9 ae 00 00 00       	jmp    0x463b83
463ad5:	8b 70 08             	mov    0x8(%eax),%esi
463ad8:	8b ce                	mov    %esi,%ecx
463ada:	e8 8d 58 fa ff       	call   0x40936c
463adf:	8b 46 08             	mov    0x8(%esi),%eax
463ae2:	68 70 46 4b 00       	push   $0x4b4670
463ae7:	ff 30                	push   (%eax)
463ae9:	e8 b9 d4 fb ff       	call   0x420fa7
463aee:	59                   	pop    %ecx
463aef:	85 c0                	test   %eax,%eax
463af1:	8b 47 04             	mov    0x4(%edi),%eax
463af4:	59                   	pop    %ecx
463af5:	75 2b                	jne    0x463b22
463af7:	8b 48 0c             	mov    0xc(%eax),%ecx
463afa:	e8 94 94 fa ff       	call   0x40cf93
463aff:	89 44 24 20          	mov    %eax,0x20(%esp)
463b03:	8b 47 04             	mov    0x4(%edi),%eax
463b06:	89 54 24 24          	mov    %edx,0x24(%esp)
463b0a:	8b 70 04             	mov    0x4(%eax),%esi
463b0d:	8b ce                	mov    %esi,%ecx
463b0f:	e8 58 58 fa ff       	call   0x40936c
463b14:	6a 08                	push   $0x8
463b16:	8d 4c 24 24          	lea    0x24(%esp),%ecx
463b1a:	51                   	push   %ecx
463b1b:	6a 0b                	push   $0xb
463b1d:	e9 7a ff ff ff       	jmp    0x463a9c
463b22:	8b 70 08             	mov    0x8(%eax),%esi
463b25:	8b ce                	mov    %esi,%ecx
463b27:	e8 40 58 fa ff       	call   0x40936c
463b2c:	8b 46 08             	mov    0x8(%esi),%eax
463b2f:	68 84 46 4b 00       	push   $0x4b4684
463b34:	ff 30                	push   (%eax)
463b36:	e8 6c d4 fb ff       	call   0x420fa7
463b3b:	59                   	pop    %ecx
463b3c:	59                   	pop    %ecx
463b3d:	85 c0                	test   %eax,%eax
463b3f:	75 35                	jne    0x463b76
463b41:	8b 47 04             	mov    0x4(%edi),%eax
463b44:	8b 48 0c             	mov    0xc(%eax),%ecx
463b47:	e8 0f 7a fe ff       	call   0x44b55b
463b4c:	8b 57 04             	mov    0x4(%edi),%edx
463b4f:	8b d8                	mov    %eax,%ebx
463b51:	8b 72 04             	mov    0x4(%edx),%esi
463b54:	8b 7a 0c             	mov    0xc(%edx),%edi
463b57:	8b ce                	mov    %esi,%ecx
463b59:	e8 0e 58 fa ff       	call   0x40936c
463b5e:	8b 56 08             	mov    0x8(%esi),%edx
463b61:	8b cf                	mov    %edi,%ecx
463b63:	e8 36 7a fe ff       	call   0x44b59e
463b68:	50                   	push   %eax
463b69:	53                   	push   %ebx
463b6a:	6a 03                	push   $0x3
463b6c:	33 db                	xor    %ebx,%ebx
463b6e:	53                   	push   %ebx
463b6f:	ff 32                	push   (%edx)
463b71:	e9 fa fc ff ff       	jmp    0x463870
463b76:	8b 75 0c             	mov    0xc(%ebp),%esi
463b79:	8b ce                	mov    %esi,%ecx
463b7b:	e8 a0 f0 fa ff       	call   0x412c20
463b80:	83 26 00             	andl   $0x0,(%esi)
463b83:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
463b8a:	ff 74 24 0c          	push   0xc(%esp)
463b8e:	8b 35 24 d0 48 00    	mov    0x48d024,%esi
463b94:	ff d6                	call   *%esi
463b96:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
463b9b:	74 06                	je     0x463ba3
463b9d:	ff 74 24 10          	push   0x10(%esp)
463ba1:	ff d6                	call   *%esi
463ba3:	8d 4c 24 50          	lea    0x50(%esp),%ecx
463ba7:	e8 8b 8f fa ff       	call   0x40cb37
463bac:	8d 4c 24 30          	lea    0x30(%esp),%ecx
463bb0:	e8 82 8f fa ff       	call   0x40cb37
463bb5:	8d 4c 24 40          	lea    0x40(%esp),%ecx
463bb9:	e8 79 8f fa ff       	call   0x40cb37
463bbe:	5f                   	pop    %edi
463bbf:	5e                   	pop    %esi
463bc0:	33 c0                	xor    %eax,%eax
463bc2:	5b                   	pop    %ebx
463bc3:	8b e5                	mov    %ebp,%esp
463bc5:	5d                   	pop    %ebp
463bc6:	c2 08 00             	ret    $0x8
463bc9:	56                   	push   %esi
463bca:	8b f1                	mov    %ecx,%esi
463bcc:	e8 0a 00 00 00       	call   0x463bdb
463bd1:	33 c0                	xor    %eax,%eax
463bd3:	39 46 08             	cmp    %eax,0x8(%esi)
463bd6:	5e                   	pop    %esi
463bd7:	0f 95 c0             	setne  %al
463bda:	c3                   	ret
463bdb:	56                   	push   %esi
463bdc:	8b f1                	mov    %ecx,%esi
463bde:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
463be2:	75 20                	jne    0x463c04
463be4:	68 ac 46 4b 00       	push   $0x4b46ac
463be9:	ff 15 8c d1 48 00    	call   *0x48d18c
463bef:	89 06                	mov    %eax,(%esi)
463bf1:	85 c0                	test   %eax,%eax
463bf3:	74 0f                	je     0x463c04
463bf5:	68 9c 46 4b 00       	push   $0x4b469c
463bfa:	50                   	push   %eax
463bfb:	ff 15 90 d1 48 00    	call   *0x48d190
463c01:	89 46 08             	mov    %eax,0x8(%esi)
463c04:	5e                   	pop    %esi
463c05:	c3                   	ret
463c06:	55                   	push   %ebp
463c07:	8b ec                	mov    %esp,%ebp
463c09:	83 ec 14             	sub    $0x14,%esp
463c0c:	8d 4d 10             	lea    0x10(%ebp),%ecx
463c0f:	53                   	push   %ebx
463c10:	56                   	push   %esi
463c11:	57                   	push   %edi
463c12:	e8 e3 81 fa ff       	call   0x40bdfa
463c17:	ff 75 14             	push   0x14(%ebp)
463c1a:	ff 75 10             	push   0x10(%ebp)
463c1d:	ff 15 60 d6 48 00    	call   *0x48d660
463c23:	8b 75 0c             	mov    0xc(%ebp),%esi
463c26:	51                   	push   %ecx
463c27:	83 26 00             	andl   $0x0,(%esi)
463c2a:	8d 45 f0             	lea    -0x10(%ebp),%eax
463c2d:	50                   	push   %eax
463c2e:	8d 4d 10             	lea    0x10(%ebp),%ecx
463c31:	e8 32 03 00 00       	call   0x463f68
463c36:	bf 24 45 4b 00       	mov    $0x4b4524,%edi