46c613:	57                   	push   %edi
46c614:	8b 40 04             	mov    0x4(%eax),%eax
46c617:	8b f9                	mov    %ecx,%edi
46c619:	8b 30                	mov    (%eax),%esi
46c61b:	8b ce                	mov    %esi,%ecx
46c61d:	e8 75 d3 f9 ff       	call   0x409997
46c622:	8b 56 08             	mov    0x8(%esi),%edx
46c625:	8d 4c 24 38          	lea    0x38(%esp),%ecx
46c629:	6a ff                	push   $0xffffffff
46c62b:	6a ff                	push   $0xffffffff
46c62d:	6a ff                	push   $0xffffffff
46c62f:	8b 02                	mov    (%edx),%eax
46c631:	bb 70 a8 4b 00       	mov    $0x4ba870,%ebx
46c636:	89 44 24 44          	mov    %eax,0x44(%esp)
46c63a:	8b 42 04             	mov    0x4(%edx),%eax
46c63d:	89 44 24 48          	mov    %eax,0x48(%esp)
46c641:	8b 42 08             	mov    0x8(%edx),%eax
46c644:	89 44 24 4c          	mov    %eax,0x4c(%esp)
46c648:	8b 42 0c             	mov    0xc(%edx),%eax
46c64b:	6a 01                	push   $0x1
46c64d:	6a 02                	push   $0x2
46c64f:	89 44 24 58          	mov    %eax,0x58(%esp)
46c653:	ff 00                	incl   (%eax)
46c655:	8b 74 24 50          	mov    0x50(%esp),%esi
46c659:	53                   	push   %ebx
46c65a:	e8 f9 2f ff ff       	call   0x45f658
46c65f:	3b c6                	cmp    %esi,%eax
46c661:	75 0a                	jne    0x46c66d
46c663:	53                   	push   %ebx
46c664:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
46c668:	e8 9e b7 f9 ff       	call   0x407e0b
46c66d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46c670:	68 10 f9 48 00       	push   $0x48f910
46c675:	e8 7e d5 f9 ff       	call   0x409bf8
46c67a:	8b 07                	mov    (%edi),%eax
46c67c:	33 db                	xor    %ebx,%ebx
46c67e:	53                   	push   %ebx
46c67f:	6a 01                	push   $0x1
46c681:	8b 48 04             	mov    0x4(%eax),%ecx
46c684:	03 cf                	add    %edi,%ecx
46c686:	e8 18 a4 fe ff       	call   0x456aa3
46c68b:	8d 4c 24 38          	lea    0x38(%esp),%ecx
46c68f:	e8 df 77 ff ff       	call   0x463e73
46c694:	84 c0                	test   %al,%al
46c696:	0f 84 8c 02 00 00    	je     0x46c928
46c69c:	53                   	push   %ebx
46c69d:	ff 15 60 f8 48 00    	call   *0x48f860
46c6a3:	8d 44 24 0c          	lea    0xc(%esp),%eax
46c6a7:	50                   	push   %eax
46c6a8:	68 dc 2b 49 00       	push   $0x492bdc
46c6ad:	6a 01                	push   $0x1
46c6af:	53                   	push   %ebx
46c6b0:	68 6c 2d 49 00       	push   $0x492d6c
46c6b5:	ff 15 48 f8 48 00    	call   *0x48f848
46c6bb:	85 c0                	test   %eax,%eax
46c6bd:	0f 88 5f 02 00 00    	js     0x46c922
46c6c3:	8b 44 24 0c          	mov    0xc(%esp),%eax
46c6c7:	8d 54 24 24          	lea    0x24(%esp),%edx
46c6cb:	52                   	push   %edx
46c6cc:	68 3c 2c 49 00       	push   $0x492c3c
46c6d1:	50                   	push   %eax
46c6d2:	8b 08                	mov    (%eax),%ecx
46c6d4:	ff 11                	call   *(%ecx)
46c6d6:	85 c0                	test   %eax,%eax
46c6d8:	0f 88 3a 02 00 00    	js     0x46c918
46c6de:	8b 44 24 24          	mov    0x24(%esp),%eax
46c6e2:	53                   	push   %ebx
46c6e3:	ff 74 24 3c          	push   0x3c(%esp)
46c6e7:	8b 10                	mov    (%eax),%edx
46c6e9:	50                   	push   %eax
46c6ea:	ff 52 14             	call   *0x14(%edx)
46c6ed:	85 c0                	test   %eax,%eax
46c6ef:	0f 88 19 02 00 00    	js     0x46c90e
46c6f5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46c6f8:	e8 31 cd f9 ff       	call   0x40942e
46c6fd:	6a 07                	push   $0x7
46c6ff:	8b f0                	mov    %eax,%esi
46c701:	6a 01                	push   $0x1
46c703:	56                   	push   %esi
46c704:	e8 a7 ca f9 ff       	call   0x4091b0
46c709:	8b 4c 24 18          	mov    0x18(%esp),%ecx
46c70d:	8d 44 24 5c          	lea    0x5c(%esp),%eax
46c711:	83 c4 0c             	add    $0xc,%esp
46c714:	8b 11                	mov    (%ecx),%edx
46c716:	6a 02                	push   $0x2
46c718:	53                   	push   %ebx
46c719:	bb 04 01 00 00       	mov    $0x104,%ebx
46c71e:	53                   	push   %ebx
46c71f:	50                   	push   %eax
46c720:	51                   	push   %ecx
46c721:	ff 52 0c             	call   *0xc(%edx)
46c724:	8d 44 24 50          	lea    0x50(%esp),%eax
46c728:	50                   	push   %eax
46c729:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
46c72d:	e8 0f b8 f9 ff       	call   0x407f41
46c732:	50                   	push   %eax
46c733:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46c737:	e8 ae cc f9 ff       	call   0x4093ea
46c73c:	6a 00                	push   $0x0
46c73e:	6a 01                	push   $0x1
46c740:	8d 44 24 18          	lea    0x18(%esp),%eax
46c744:	50                   	push   %eax
46c745:	56                   	push   %esi
46c746:	e8 f5 c8 f9 ff       	call   0x409040
46c74b:	83 c4 10             	add    $0x10,%esp
46c74e:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46c752:	e8 c9 d2 f9 ff       	call   0x409a20
46c757:	8d 4c 24 28          	lea    0x28(%esp),%ecx
46c75b:	e8 04 93 f9 ff       	call   0x405a64
46c760:	8b 44 24 0c          	mov    0xc(%esp),%eax
46c764:	8d 54 24 50          	lea    0x50(%esp),%edx
46c768:	53                   	push   %ebx
46c769:	52                   	push   %edx
46c76a:	50                   	push   %eax
46c76b:	8b 08                	mov    (%eax),%ecx
46c76d:	ff 51 20             	call   *0x20(%ecx)
46c770:	8d 44 24 50          	lea    0x50(%esp),%eax
46c774:	50                   	push   %eax
46c775:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
46c779:	e8 c3 b7 f9 ff       	call   0x407f41
46c77e:	50                   	push   %eax
46c77f:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46c783:	e8 62 cc f9 ff       	call   0x4093ea
46c788:	6a 01                	push   $0x1
46c78a:	6a 01                	push   $0x1
46c78c:	8d 44 24 18          	lea    0x18(%esp),%eax
46c790:	50                   	push   %eax
46c791:	56                   	push   %esi
46c792:	e8 a9 c8 f9 ff       	call   0x409040
46c797:	83 c4 10             	add    $0x10,%esp
46c79a:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46c79e:	e8 7d d2 f9 ff       	call   0x409a20
46c7a3:	8d 4c 24 28          	lea    0x28(%esp),%ecx
46c7a7:	e8 b8 92 f9 ff       	call   0x405a64
46c7ac:	8b 44 24 0c          	mov    0xc(%esp),%eax
46c7b0:	8d 54 24 50          	lea    0x50(%esp),%edx
46c7b4:	53                   	push   %ebx
46c7b5:	52                   	push   %edx
46c7b6:	50                   	push   %eax
46c7b7:	8b 08                	mov    (%eax),%ecx
46c7b9:	ff 51 28             	call   *0x28(%ecx)
46c7bc:	8d 44 24 50          	lea    0x50(%esp),%eax
46c7c0:	50                   	push   %eax
46c7c1:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
46c7c5:	e8 77 b7 f9 ff       	call   0x407f41
46c7ca:	50                   	push   %eax
46c7cb:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46c7cf:	e8 16 cc f9 ff       	call   0x4093ea
46c7d4:	6a 02                	push   $0x2
46c7d6:	6a 01                	push   $0x1
46c7d8:	8d 44 24 18          	lea    0x18(%esp),%eax
46c7dc:	50                   	push   %eax
46c7dd:	56                   	push   %esi
46c7de:	e8 5d c8 f9 ff       	call   0x409040
46c7e3:	83 c4 10             	add    $0x10,%esp
46c7e6:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46c7ea:	e8 31 d2 f9 ff       	call   0x409a20
46c7ef:	8d 4c 24 28          	lea    0x28(%esp),%ecx
46c7f3:	e8 6c 92 f9 ff       	call   0x405a64
46c7f8:	8b 44 24 0c          	mov    0xc(%esp),%eax
46c7fc:	8d 54 24 50          	lea    0x50(%esp),%edx
46c800:	53                   	push   %ebx
46c801:	52                   	push   %edx
46c802:	50                   	push   %eax
46c803:	8b 08                	mov    (%eax),%ecx
46c805:	ff 51 18             	call   *0x18(%ecx)
46c808:	8d 44 24 50          	lea    0x50(%esp),%eax
46c80c:	50                   	push   %eax
46c80d:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
46c811:	e8 2b b7 f9 ff       	call   0x407f41
46c816:	50                   	push   %eax
46c817:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46c81b:	e8 ca cb f9 ff       	call   0x4093ea
46c820:	6a 03                	push   $0x3
46c822:	6a 01                	push   $0x1
46c824:	8d 44 24 18          	lea    0x18(%esp),%eax
46c828:	50                   	push   %eax
46c829:	56                   	push   %esi
46c82a:	e8 11 c8 f9 ff       	call   0x409040
46c82f:	83 c4 10             	add    $0x10,%esp
46c832:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46c836:	e8 e5 d1 f9 ff       	call   0x409a20
46c83b:	8d 4c 24 28          	lea    0x28(%esp),%ecx
46c83f:	e8 20 92 f9 ff       	call   0x405a64
46c844:	8b 44 24 0c          	mov    0xc(%esp),%eax
46c848:	8d 54 24 4c          	lea    0x4c(%esp),%edx
46c84c:	52                   	push   %edx
46c84d:	53                   	push   %ebx
46c84e:	8d 54 24 58          	lea    0x58(%esp),%edx
46c852:	8b 08                	mov    (%eax),%ecx
46c854:	52                   	push   %edx
46c855:	50                   	push   %eax
46c856:	ff 51 40             	call   *0x40(%ecx)
46c859:	8d 44 24 50          	lea    0x50(%esp),%eax
46c85d:	50                   	push   %eax
46c85e:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
46c862:	e8 da b6 f9 ff       	call   0x407f41
46c867:	50                   	push   %eax
46c868:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46c86c:	e8 79 cb f9 ff       	call   0x4093ea
46c871:	6a 04                	push   $0x4
46c873:	6a 01                	push   $0x1
46c875:	8d 44 24 18          	lea    0x18(%esp),%eax
46c879:	50                   	push   %eax
46c87a:	56                   	push   %esi
46c87b:	e8 c0 c7 f9 ff       	call   0x409040
46c880:	83 c4 10             	add    $0x10,%esp
46c883:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46c887:	e8 94 d1 f9 ff       	call   0x409a20
46c88c:	8d 4c 24 28          	lea    0x28(%esp),%ecx
46c890:	e8 cf 91 f9 ff       	call   0x405a64
46c895:	8b 44 24 4c          	mov    0x4c(%esp),%eax
46c899:	33 db                	xor    %ebx,%ebx
46c89b:	89 44 24 10          	mov    %eax,0x10(%esp)
46c89f:	33 c0                	xor    %eax,%eax
46c8a1:	40                   	inc    %eax
46c8a2:	89 5c 24 18          	mov    %ebx,0x18(%esp)
46c8a6:	6a 05                	push   $0x5
46c8a8:	50                   	push   %eax
46c8a9:	89 44 24 24          	mov    %eax,0x24(%esp)
46c8ad:	8d 44 24 18          	lea    0x18(%esp),%eax
46c8b1:	50                   	push   %eax
46c8b2:	56                   	push   %esi
46c8b3:	e8 88 c7 f9 ff       	call   0x409040
46c8b8:	83 c4 10             	add    $0x10,%esp
46c8bb:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46c8bf:	e8 5c d1 f9 ff       	call   0x409a20
46c8c4:	8b 44 24 0c          	mov    0xc(%esp),%eax
46c8c8:	8d 54 24 48          	lea    0x48(%esp),%edx
46c8cc:	52                   	push   %edx
46c8cd:	50                   	push   %eax
46c8ce:	8b 08                	mov    (%eax),%ecx
46c8d0:	ff 51 38             	call   *0x38(%ecx)
46c8d3:	8b 44 24 48          	mov    0x48(%esp),%eax
46c8d7:	89 44 24 10          	mov    %eax,0x10(%esp)
46c8db:	33 c0                	xor    %eax,%eax
46c8dd:	89 5c 24 18          	mov    %ebx,0x18(%esp)
46c8e1:	40                   	inc    %eax
46c8e2:	6a 06                	push   $0x6
46c8e4:	50                   	push   %eax
46c8e5:	89 44 24 24          	mov    %eax,0x24(%esp)
46c8e9:	8d 44 24 18          	lea    0x18(%esp),%eax
46c8ed:	50                   	push   %eax
46c8ee:	56                   	push   %esi
46c8ef:	e8 4c c7 f9 ff       	call   0x409040
46c8f4:	83 c4 10             	add    $0x10,%esp
46c8f7:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46c8fb:	e8 20 d1 f9 ff       	call   0x409a20
46c900:	8b 07                	mov    (%edi),%eax
46c902:	53                   	push   %ebx
46c903:	53                   	push   %ebx
46c904:	8b 48 04             	mov    0x4(%eax),%ecx
46c907:	03 cf                	add    %edi,%ecx
46c909:	e8 95 a1 fe ff       	call   0x456aa3
46c90e:	8b 44 24 24          	mov    0x24(%esp),%eax
46c912:	50                   	push   %eax
46c913:	8b 08                	mov    (%eax),%ecx
46c915:	ff 51 08             	call   *0x8(%ecx)
46c918:	8b 44 24 0c          	mov    0xc(%esp),%eax
46c91c:	50                   	push   %eax
46c91d:	8b 08                	mov    (%eax),%ecx
46c91f:	ff 51 08             	call   *0x8(%ecx)
46c922:	ff 15 64 f8 48 00    	call   *0x48f864
46c928:	8d 4c 24 38          	lea    0x38(%esp),%ecx
46c92c:	e8 33 91 f9 ff       	call   0x405a64
46c931:	5f                   	pop    %edi
46c932:	5e                   	pop    %esi
46c933:	33 c0                	xor    %eax,%eax
46c935:	5b                   	pop    %ebx
46c936:	8b e5                	mov    %ebp,%esp
46c938:	5d                   	pop    %ebp
46c939:	c2 08 00             	ret    $0x8
46c93c:	55                   	push   %ebp
46c93d:	8b ec                	mov    %esp,%ebp
46c93f:	83 e4 f8             	and    $0xfffffff8,%esp
46c942:	8b 45 08             	mov    0x8(%ebp),%eax
46c945:	81 ec 54 02 00 00    	sub    $0x254,%esp
46c94b:	8b 40 04             	mov    0x4(%eax),%eax
46c94e:	53                   	push   %ebx
46c94f:	56                   	push   %esi
46c950:	57                   	push   %edi
46c951:	8b 30                	mov    (%eax),%esi
46c953:	8b f9                	mov    %ecx,%edi
46c955:	8b ce                	mov    %esi,%ecx
46c957:	e8 3b d0 f9 ff       	call   0x409997
46c95c:	8b 46 08             	mov    0x8(%esi),%eax
46c95f:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46c963:	51                   	push   %ecx
46c964:	ff 30                	push   (%eax)
46c966:	ff 15 04 f2 48 00    	call   *0x48f204
46c96c:	83 f8 ff             	cmp    $0xffffffff,%eax
46c96f:	75 24                	jne    0x46c995
46c971:	8b 75 0c             	mov    0xc(%ebp),%esi
46c974:	8b ce                	mov    %esi,%ecx
46c976:	e8 a5 d0 f9 ff       	call   0x409a20
46c97b:	83 26 00             	andl   $0x0,(%esi)
46c97e:	33 c0                	xor    %eax,%eax
46c980:	40                   	inc    %eax
46c981:	6a 00                	push   $0x0
46c983:	89 46 0c             	mov    %eax,0xc(%esi)
46c986:	50                   	push   %eax
46c987:	8b 07                	mov    (%edi),%eax
46c989:	8b 48 04             	mov    0x4(%eax),%ecx
46c98c:	03 cf                	add    %edi,%ecx
46c98e:	e8 10 a1 fe ff       	call   0x456aa3
46c993:	eb 27                	jmp    0x46c9bc
46c995:	50                   	push   %eax
46c996:	ff 15 ec f3 48 00    	call   *0x48f3ec
46c99c:	8b 75 0c             	mov    0xc(%ebp),%esi
46c99f:	33 ff                	xor    %edi,%edi
46c9a1:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
46c9a5:	8b ce                	mov    %esi,%ecx
46c9a7:	0b 7c 24 30          	or     0x30(%esp),%edi
46c9ab:	e8 70 d0 f9 ff       	call   0x409a20
46c9b0:	c7 46 0c 02 00 00 00 	movl   $0x2,0xc(%esi)
46c9b7:	89 3e                	mov    %edi,(%esi)
46c9b9:	89 5e 04             	mov    %ebx,0x4(%esi)
46c9bc:	5f                   	pop    %edi
46c9bd:	5e                   	pop    %esi
46c9be:	33 c0                	xor    %eax,%eax
46c9c0:	5b                   	pop    %ebx
46c9c1:	8b e5                	mov    %ebp,%esp
46c9c3:	5d                   	pop    %ebp
46c9c4:	c2 08 00             	ret    $0x8
46c9c7:	55                   	push   %ebp
46c9c8:	8b ec                	mov    %esp,%ebp
46c9ca:	83 e4 f8             	and    $0xfffffff8,%esp
46c9cd:	81 ec c4 02 00 00    	sub    $0x2c4,%esp
46c9d3:	53                   	push   %ebx
46c9d4:	8b 5d 08             	mov    0x8(%ebp),%ebx
46c9d7:	56                   	push   %esi
46c9d8:	89 4c 24 58          	mov    %ecx,0x58(%esp)
46c9dc:	57                   	push   %edi
46c9dd:	8b 43 04             	mov    0x4(%ebx),%eax
46c9e0:	33 ff                	xor    %edi,%edi
46c9e2:	8b 30                	mov    (%eax),%esi
46c9e4:	8b ce                	mov    %esi,%ecx
46c9e6:	e8 ac cf f9 ff       	call   0x409997
46c9eb:	8b 46 08             	mov    0x8(%esi),%eax
46c9ee:	8d 8c 24 80 00 00 00 	lea    0x80(%esp),%ecx
46c9f5:	51                   	push   %ecx
46c9f6:	ff 30                	push   (%eax)
46c9f8:	ff 15 04 f2 48 00    	call   *0x48f204
46c9fe:	8b c8                	mov    %eax,%ecx
46ca00:	83 f9 ff             	cmp    $0xffffffff,%ecx
46ca03:	0f 84 09 03 00 00    	je     0x46cd12
46ca09:	8b 84 24 84 00 00 00 	mov    0x84(%esp),%eax
46ca10:	89 44 24 4c          	mov    %eax,0x4c(%esp)
46ca14:	8b 84 24 88 00 00 00 	mov    0x88(%esp),%eax
46ca1b:	89 44 24 50          	mov    %eax,0x50(%esp)