46e744:	c2 18 00             	ret    $0x18
46e747:	cc                   	int3
46e748:	cc                   	int3
46e749:	cc                   	int3
46e74a:	cc                   	int3
46e74b:	cc                   	int3
46e74c:	cc                   	int3
46e74d:	cc                   	int3
46e74e:	cc                   	int3
46e74f:	cc                   	int3
46e750:	8b ff                	mov    %edi,%edi
46e752:	55                   	push   %ebp
46e753:	8b ec                	mov    %esp,%ebp
46e755:	8b 45 14             	mov    0x14(%ebp),%eax
46e758:	8b 4d 08             	mov    0x8(%ebp),%ecx
46e75b:	56                   	push   %esi
46e75c:	57                   	push   %edi
46e75d:	83 20 00             	andl   $0x0,(%eax)
46e760:	ff 71 0c             	push   0xc(%ecx)
46e763:	8b 79 14             	mov    0x14(%ecx),%edi
46e766:	50                   	push   %eax
46e767:	ff 75 10             	push   0x10(%ebp)
46e76a:	8b 37                	mov    (%edi),%esi
46e76c:	ff 75 0c             	push   0xc(%ebp)
46e76f:	8b 4e 14             	mov    0x14(%esi),%ecx
46e772:	ff 15 2c 81 4a 00    	call   *0x4a812c
46e778:	8b cf                	mov    %edi,%ecx
46e77a:	ff 56 14             	call   *0x14(%esi)
46e77d:	85 c0                	test   %eax,%eax
46e77f:	79 37                	jns    0x46e7b8
46e781:	83 7d 10 05          	cmpl   $0x5,0x10(%ebp)
46e785:	74 14                	je     0x46e79b
46e787:	83 7d 10 06          	cmpl   $0x6,0x10(%ebp)
46e78b:	74 0e                	je     0x46e79b
46e78d:	83 7d 10 0c          	cmpl   $0xc,0x10(%ebp)
46e791:	74 08                	je     0x46e79b
46e793:	8b 45 08             	mov    0x8(%ebp),%eax
46e796:	8b 40 04             	mov    0x4(%eax),%eax
46e799:	eb 06                	jmp    0x46e7a1
46e79b:	8b 45 08             	mov    0x8(%ebp),%eax
46e79e:	8b 40 08             	mov    0x8(%eax),%eax
46e7a1:	8b 08                	mov    (%eax),%ecx
46e7a3:	ff 75 14             	push   0x14(%ebp)
46e7a6:	68 3c 03 41 00       	push   $0x41033c
46e7ab:	8b 31                	mov    (%ecx),%esi
46e7ad:	8b ce                	mov    %esi,%ecx
46e7af:	50                   	push   %eax
46e7b0:	ff 15 2c 81 4a 00    	call   *0x4a812c
46e7b6:	ff d6                	call   *%esi
46e7b8:	5f                   	pop    %edi
46e7b9:	5e                   	pop    %esi
46e7ba:	5d                   	pop    %ebp
46e7bb:	c2 10 00             	ret    $0x10
46e7be:	cc                   	int3
46e7bf:	cc                   	int3
46e7c0:	b8 01 40 00 80       	mov    $0x80004001,%eax
46e7c5:	c2 10 00             	ret    $0x10
46e7c8:	6a 08                	push   $0x8
46e7ca:	b8 51 58 49 00       	mov    $0x495851,%eax
46e7cf:	e8 ff 1c 02 00       	call   0x4904d3
46e7d4:	8b d9                	mov    %ecx,%ebx
46e7d6:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46e7d9:	ff 15 6c 73 4a 00    	call   *0x4a736c
46e7df:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46e7e3:	8d 73 24             	lea    0x24(%ebx),%esi
46e7e6:	c7 03 f0 5c 40 00    	movl   $0x405cf0,(%ebx)
46e7ec:	c7 43 20 d8 5c 40 00 	movl   $0x405cd8,0x20(%ebx)
46e7f3:	89 75 ec             	mov    %esi,-0x14(%ebp)
46e7f6:	e8 13 b9 fc ff       	call   0x43a10e
46e7fb:	89 46 04             	mov    %eax,0x4(%esi)
46e7fe:	c6 40 15 01          	movb   $0x1,0x15(%eax)
46e802:	8b 46 04             	mov    0x4(%esi),%eax
46e805:	89 40 04             	mov    %eax,0x4(%eax)
46e808:	8b 46 04             	mov    0x4(%esi),%eax
46e80b:	89 00                	mov    %eax,(%eax)
46e80d:	8b 46 04             	mov    0x4(%esi),%eax
46e810:	89 40 08             	mov    %eax,0x8(%eax)
46e813:	83 66 08 00          	andl   $0x0,0x8(%esi)
46e817:	8b 4d 10             	mov    0x10(%ebp),%ecx
46e81a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46e81e:	89 4b 38             	mov    %ecx,0x38(%ebx)
46e821:	85 c9                	test   %ecx,%ecx
46e823:	74 13                	je     0x46e838
46e825:	8b 01                	mov    (%ecx),%eax
46e827:	51                   	push   %ecx
46e828:	8b 70 04             	mov    0x4(%eax),%esi
46e82b:	8b ce                	mov    %esi,%ecx
46e82d:	ff 15 2c 81 4a 00    	call   *0x4a812c
46e833:	ff d6                	call   *%esi
46e835:	8d 73 24             	lea    0x24(%ebx),%esi
46e838:	8b 7d 0c             	mov    0xc(%ebp),%edi
46e83b:	8b 45 08             	mov    0x8(%ebp),%eax
46e83e:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
46e842:	83 63 04 00          	andl   $0x0,0x4(%ebx)
46e846:	89 43 30             	mov    %eax,0x30(%ebx)
46e849:	89 7b 34             	mov    %edi,0x34(%ebx)
46e84c:	8b 07                	mov    (%edi),%eax
46e84e:	56                   	push   %esi
46e84f:	8b 70 08             	mov    0x8(%eax),%esi
46e852:	8b ce                	mov    %esi,%ecx
46e854:	ff 15 2c 81 4a 00    	call   *0x4a812c
46e85a:	8b cf                	mov    %edi,%ecx
46e85c:	ff d6                	call   *%esi
46e85e:	8b c3                	mov    %ebx,%eax
46e860:	e8 3c 1c 02 00       	call   0x4904a1
46e865:	c2 0c 00             	ret    $0xc
46e868:	cc                   	int3
46e869:	cc                   	int3
46e86a:	cc                   	int3
46e86b:	cc                   	int3
46e86c:	cc                   	int3
46e86d:	cc                   	int3
46e86e:	cc                   	int3
46e86f:	cc                   	int3
46e870:	8b ff                	mov    %edi,%edi
46e872:	55                   	push   %ebp
46e873:	8b ec                	mov    %esp,%ebp
46e875:	6a ff                	push   $0xffffffff
46e877:	68 90 20 49 00       	push   $0x492090
46e87c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
46e882:	50                   	push   %eax
46e883:	51                   	push   %ecx
46e884:	56                   	push   %esi
46e885:	57                   	push   %edi
46e886:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
46e88b:	33 c5                	xor    %ebp,%eax
46e88d:	50                   	push   %eax
46e88e:	8d 45 f4             	lea    -0xc(%ebp),%eax
46e891:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
46e897:	8b f1                	mov    %ecx,%esi
46e899:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46e89d:	8b 56 28             	mov    0x28(%esi),%edx
46e8a0:	c7 06 f0 5c 40 00    	movl   $0x405cf0,(%esi)
46e8a6:	8b 02                	mov    (%edx),%eax
46e8a8:	3b c2                	cmp    %edx,%eax
46e8aa:	74 14                	je     0x46e8c0
46e8ac:	50                   	push   %eax
46e8ad:	8d 45 f0             	lea    -0x10(%ebp),%eax
46e8b0:	50                   	push   %eax
46e8b1:	8d 4e 24             	lea    0x24(%esi),%ecx
46e8b4:	e8 6d 58 fe ff       	call   0x454126
46e8b9:	8b 00                	mov    (%eax),%eax
46e8bb:	3b 46 28             	cmp    0x28(%esi),%eax
46e8be:	75 ec                	jne    0x46e8ac
46e8c0:	8d 4e 38             	lea    0x38(%esi),%ecx
46e8c3:	e8 a9 20 fb ff       	call   0x420971
46e8c8:	8d 4e 24             	lea    0x24(%esi),%ecx
46e8cb:	e8 0e 4a fe ff       	call   0x4532de
46e8d0:	8b ce                	mov    %esi,%ecx
46e8d2:	ff 15 70 73 4a 00    	call   *0x4a7370
46e8d8:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
46e8dc:	74 08                	je     0x46e8e6
46e8de:	56                   	push   %esi
46e8df:	ff 15 10 74 4a 00    	call   *0x4a7410
46e8e5:	59                   	pop    %ecx
46e8e6:	8b c6                	mov    %esi,%eax
46e8e8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46e8eb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46e8f2:	59                   	pop    %ecx
46e8f3:	5f                   	pop    %edi
46e8f4:	5e                   	pop    %esi
46e8f5:	c9                   	leave
46e8f6:	c2 04 00             	ret    $0x4
46e8f9:	8b ff                	mov    %edi,%edi
46e8fb:	55                   	push   %ebp
46e8fc:	8b ec                	mov    %esp,%ebp
46e8fe:	8b 51 28             	mov    0x28(%ecx),%edx
46e901:	8b ca                	mov    %edx,%ecx
46e903:	53                   	push   %ebx
46e904:	8b 5d 08             	mov    0x8(%ebp),%ebx
46e907:	56                   	push   %esi
46e908:	8b 42 04             	mov    0x4(%edx),%eax
46e90b:	8b f2                	mov    %edx,%esi
46e90d:	57                   	push   %edi
46e90e:	33 ff                	xor    %edi,%edi
46e910:	eb 0e                	jmp    0x46e920
46e912:	39 58 0c             	cmp    %ebx,0xc(%eax)
46e915:	73 05                	jae    0x46e91c
46e917:	8b 40 08             	mov    0x8(%eax),%eax
46e91a:	eb 04                	jmp    0x46e920
46e91c:	8b c8                	mov    %eax,%ecx
46e91e:	8b 00                	mov    (%eax),%eax
46e920:	80 78 15 00          	cmpb   $0x0,0x15(%eax)
46e924:	74 ec                	je     0x46e912
46e926:	3b ce                	cmp    %esi,%ecx
46e928:	74 05                	je     0x46e92f
46e92a:	3b 59 0c             	cmp    0xc(%ecx),%ebx
46e92d:	73 02                	jae    0x46e931
46e92f:	8b ca                	mov    %edx,%ecx
46e931:	3b ca                	cmp    %edx,%ecx
46e933:	74 04                	je     0x46e939
46e935:	0f b7 79 10          	movzwl 0x10(%ecx),%edi
46e939:	66 8b c7             	mov    %di,%ax
46e93c:	5f                   	pop    %edi
46e93d:	5e                   	pop    %esi
46e93e:	5b                   	pop    %ebx
46e93f:	5d                   	pop    %ebp
46e940:	c2 04 00             	ret    $0x4
46e943:	cc                   	int3
46e944:	cc                   	int3
46e945:	cc                   	int3
46e946:	cc                   	int3
46e947:	cc                   	int3
46e948:	cc                   	int3
46e949:	cc                   	int3
46e94a:	cc                   	int3
46e94b:	cc                   	int3
46e94c:	cc                   	int3
46e94d:	cc                   	int3
46e94e:	cc                   	int3
46e94f:	cc                   	int3
46e950:	b8 cc 5c 40 00       	mov    $0x405ccc,%eax
46e955:	c3                   	ret
46e956:	cc                   	int3
46e957:	cc                   	int3
46e958:	cc                   	int3
46e959:	cc                   	int3
46e95a:	cc                   	int3
46e95b:	cc                   	int3
46e95c:	cc                   	int3
46e95d:	cc                   	int3
46e95e:	cc                   	int3
46e95f:	cc                   	int3
46e960:	68 cc 02 00 00       	push   $0x2cc
46e965:	b8 db 58 49 00       	mov    $0x4958db,%eax
46e96a:	e8 03 1c 02 00       	call   0x490572
46e96f:	8b 5d 08             	mov    0x8(%ebp),%ebx
46e972:	b8 01 40 00 80       	mov    $0x80004001,%eax
46e977:	8b 4d 18             	mov    0x18(%ebp),%ecx
46e97a:	83 c3 e0             	add    $0xffffffe0,%ebx
46e97d:	89 85 84 fd ff ff    	mov    %eax,-0x27c(%ebp)
46e983:	89 85 5c fd ff ff    	mov    %eax,-0x2a4(%ebp)
46e989:	89 8d 7c fd ff ff    	mov    %ecx,-0x284(%ebp)
46e98f:	8b 7b 34             	mov    0x34(%ebx),%edi
46e992:	89 8d 70 fd ff ff    	mov    %ecx,-0x290(%ebp)
46e998:	89 9d 78 fd ff ff    	mov    %ebx,-0x288(%ebp)
46e99e:	8b 07                	mov    (%edi),%eax
46e9a0:	8b 70 10             	mov    0x10(%eax),%esi
46e9a3:	8b ce                	mov    %esi,%ecx
46e9a5:	ff 15 2c 81 4a 00    	call   *0x4a812c
46e9ab:	8b cf                	mov    %edi,%ecx
46e9ad:	ff d6                	call   *%esi
46e9af:	8b f8                	mov    %eax,%edi
46e9b1:	89 bd 80 fd ff ff    	mov    %edi,-0x280(%ebp)
46e9b7:	85 ff                	test   %edi,%edi
46e9b9:	0f 84 c7 07 00 00    	je     0x46f186
46e9bf:	8b 45 0c             	mov    0xc(%ebp),%eax
46e9c2:	8b cb                	mov    %ebx,%ecx
46e9c4:	50                   	push   %eax
46e9c5:	e8 2f ff ff ff       	call   0x46e8f9
46e9ca:	8b 75 10             	mov    0x10(%ebp),%esi
46e9cd:	33 db                	xor    %ebx,%ebx
46e9cf:	0f b7 c0             	movzwl %ax,%eax
46e9d2:	89 85 88 fd ff ff    	mov    %eax,-0x278(%ebp)
46e9d8:	66 85 c0             	test   %ax,%ax
46e9db:	0f 84 c3 03 00 00    	je     0x46eda4
46e9e1:	83 7e 10 1f          	cmpl   $0x1f,0x10(%esi)
46e9e5:	0f 85 0f 01 00 00    	jne    0x46eafa
46e9eb:	b9 d0 f5 40 00       	mov    $0x40f5d0,%ecx
46e9f0:	8b d3                	mov    %ebx,%edx
46e9f2:	8b 04 96             	mov    (%esi,%edx,4),%eax
46e9f5:	3b 04 91             	cmp    (%ecx,%edx,4),%eax
46e9f8:	0f 85 a6 03 00 00    	jne    0x46eda4
46e9fe:	42                   	inc    %edx
46e9ff:	83 fa 04             	cmp    $0x4,%edx
46ea02:	75 ee                	jne    0x46e9f2
46ea04:	8d 8d 8c fd ff ff    	lea    -0x274(%ebp),%ecx
46ea0a:	e8 e7 0e 00 00       	call   0x46f8f6
46ea0f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
46ea12:	8d 8d 8c fd ff ff    	lea    -0x274(%ebp),%ecx
46ea18:	8b 37                	mov    (%edi),%esi
46ea1a:	8b 85 88 fd ff ff    	mov    -0x278(%ebp),%eax
46ea20:	53                   	push   %ebx
46ea21:	51                   	push   %ecx
46ea22:	8b 4e 14             	mov    0x14(%esi),%ecx
46ea25:	0f b7 c0             	movzwl %ax,%eax
46ea28:	6a ff                	push   $0xffffffff
46ea2a:	50                   	push   %eax
46ea2b:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
46ea31:	ff 15 2c 81 4a 00    	call   *0x4a812c
46ea37:	8b cf                	mov    %edi,%ecx
46ea39:	ff 56 14             	call   *0x14(%esi)
46ea3c:	85 c0                	test   %eax,%eax
46ea3e:	0f 84 98 00 00 00    	je     0x46eadc
46ea44:	83 bd bc fd ff ff 00 	cmpl   $0x0,-0x244(%ebp)
46ea4b:	0f 84 8b 00 00 00    	je     0x46eadc
46ea51:	8d 85 c0 fd ff ff    	lea    -0x240(%ebp),%eax
46ea57:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46ea5b:	50                   	push   %eax
46ea5c:	8d 8d 88 fd ff ff    	lea    -0x278(%ebp),%ecx
46ea62:	ff 15 18 74 4a 00    	call   *0x4a7418
46ea68:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
46ea6c:	8b 85 88 fd ff ff    	mov    -0x278(%ebp),%eax
46ea72:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
46ea76:	7e 36                	jle    0x46eaae
46ea78:	8d 85 c0 fd ff ff    	lea    -0x240(%ebp),%eax
46ea7e:	50                   	push   %eax
46ea7f:	8d 8d 74 fd ff ff    	lea    -0x28c(%ebp),%ecx
46ea85:	ff 15 18 74 4a 00    	call   *0x4a7418
46ea8b:	8b 95 7c fd ff ff    	mov    -0x284(%ebp),%edx
46ea91:	8b 8d 74 fd ff ff    	mov    -0x28c(%ebp),%ecx
46ea97:	e8 b5 75 fb ff       	call   0x426051
46ea9c:	8d 8d 74 fd ff ff    	lea    -0x28c(%ebp),%ecx
46eaa2:	89 85 84 fd ff ff    	mov    %eax,-0x27c(%ebp)
46eaa8:	ff 15 1c 74 4a 00    	call   *0x4a741c
46eaae:	8d 8d 88 fd ff ff    	lea    -0x278(%ebp),%ecx
46eab4:	ff 15 1c 74 4a 00    	call   *0x4a741c
46eaba:	eb 20                	jmp    0x46eadc
46eabc:	b8 c2 ea 46 00       	mov    $0x46eac2,%eax
46eac1:	c3                   	ret
46eac2:	8b 85 5c fd ff ff    	mov    -0x2a4(%ebp),%eax
46eac8:	33 db                	xor    %ebx,%ebx
46eaca:	89 85 84 fd ff ff    	mov    %eax,-0x27c(%ebp)
46ead0:	8b 85 70 fd ff ff    	mov    -0x290(%ebp),%eax
46ead6:	89 85 7c fd ff ff    	mov    %eax,-0x284(%ebp)
46eadc:	8b 75 10             	mov    0x10(%ebp),%esi
46eadf:	8d 8d c0 fd ff ff    	lea    -0x240(%ebp),%ecx
46eae5:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
46eae9:	ff 15 1c 74 4a 00    	call   *0x4a741c
46eaef:	8b bd 84 fd ff ff    	mov    -0x27c(%ebp),%edi
46eaf5:	e9 af 02 00 00       	jmp    0x46eda9
46eafa:	83 7e 10 0b          	cmpl   $0xb,0x10(%esi)
46eafe:	0f 85 4e 01 00 00    	jne    0x46ec52
46eb04:	ba 38 f5 40 00       	mov    $0x40f538,%edx
46eb09:	8b cb                	mov    %ebx,%ecx
46eb0b:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
46eb0e:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
46eb11:	0f 85 a7 00 00 00    	jne    0x46ebbe
46eb17:	41                   	inc    %ecx
46eb18:	83 f9 04             	cmp    $0x4,%ecx
46eb1b:	75 ee                	jne    0x46eb0b
46eb1d:	8d 8d 8c fd ff ff    	lea    -0x274(%ebp),%ecx
46eb23:	e8 ce 0d 00 00       	call   0x46f8f6
46eb28:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
46eb2f:	8d 8d 8c fd ff ff    	lea    -0x274(%ebp),%ecx
46eb35:	8b 37                	mov    (%edi),%esi
46eb37:	8b 85 88 fd ff ff    	mov    -0x278(%ebp),%eax
46eb3d:	53                   	push   %ebx
46eb3e:	51                   	push   %ecx
46eb3f:	8b 4e 14             	mov    0x14(%esi),%ecx
46eb42:	0f b7 c0             	movzwl %ax,%eax
46eb45:	6a ff                	push   $0xffffffff
46eb47:	50                   	push   %eax
46eb48:	89 85 70 fd ff ff    	mov    %eax,-0x290(%ebp)
46eb4e:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
46eb54:	ff 15 2c 81 4a 00    	call   *0x4a812c
46eb5a:	8b cf                	mov    %edi,%ecx
46eb5c:	ff 56 14             	call   *0x14(%esi)
46eb5f:	85 c0                	test   %eax,%eax
46eb61:	74 08                	je     0x46eb6b