46ab66:	56                   	push   %esi
46ab67:	57                   	push   %edi
46ab68:	33 c9                	xor    %ecx,%ecx
46ab6a:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
46ab70:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
46ab76:	8b f2                	mov    %edx,%esi
46ab78:	8d 7d f4             	lea    -0xc(%ebp),%edi
46ab7b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46ab7c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46ab7d:	89 45 fc             	mov    %eax,-0x4(%ebp)
46ab80:	8d 45 a0             	lea    -0x60(%ebp),%eax
46ab83:	8b 15 d8 05 46 00    	mov    0x4605d8,%edx
46ab89:	e8 ce a7 f9 ff       	call   0x40535c
46ab8e:	8d 5d fc             	lea    -0x4(%ebp),%ebx
46ab91:	33 c0                	xor    %eax,%eax
46ab93:	55                   	push   %ebp
46ab94:	68 e2 ae 46 00       	push   $0x46aee2
46ab99:	64 ff 30             	push   %fs:(%eax)
46ab9c:	64 89 20             	mov    %esp,%fs:(%eax)
46ab9f:	8b 03                	mov    (%ebx),%eax
46aba1:	c6 40 58 00          	movb   $0x0,0x58(%eax)
46aba5:	8b 03                	mov    (%ebx),%eax
46aba7:	80 b8 88 00 00 00 00 	cmpb   $0x0,0x88(%eax)
46abae:	0f 84 e7 02 00 00    	je     0x46ae9b
46abb4:	8b 03                	mov    (%ebx),%eax
46abb6:	83 78 60 00          	cmpl   $0x0,0x60(%eax)
46abba:	0f 84 db 02 00 00    	je     0x46ae9b
46abc0:	e8 cb 5d ff ff       	call   0x460990
46abc5:	84 c0                	test   %al,%al
46abc7:	0f 84 ce 02 00 00    	je     0x46ae9b
46abcd:	8d 45 f4             	lea    -0xc(%ebp),%eax
46abd0:	b2 01                	mov    $0x1,%dl
46abd2:	e8 79 c4 fd ff       	call   0x447050
46abd7:	e8 d0 d7 ff ff       	call   0x4683ac
46abdc:	8b 13                	mov    (%ebx),%edx
46abde:	3b 42 60             	cmp    0x60(%edx),%eax
46abe1:	0f 85 b4 02 00 00    	jne    0x46ae9b
46abe7:	8b 03                	mov    (%ebx),%eax
46abe9:	8b 40 60             	mov    0x60(%eax),%eax
46abec:	89 45 a0             	mov    %eax,-0x60(%ebp)
46abef:	8b 45 f4             	mov    -0xc(%ebp),%eax
46abf2:	89 45 a8             	mov    %eax,-0x58(%ebp)
46abf5:	8b 45 f8             	mov    -0x8(%ebp),%eax
46abf8:	89 45 ac             	mov    %eax,-0x54(%ebp)
46abfb:	e8 10 fd ff ff       	call   0x46a910
46ac00:	01 45 ac             	add    %eax,-0x54(%ebp)
46ac03:	a1 40 8c 6a 00       	mov    0x6a8c40,%eax
46ac08:	e8 8b ca ff ff       	call   0x467698
46ac0d:	89 45 b0             	mov    %eax,-0x50(%ebp)
46ac10:	8b 03                	mov    (%ebx),%eax
46ac12:	8b 40 5c             	mov    0x5c(%eax),%eax
46ac15:	89 45 b4             	mov    %eax,-0x4c(%ebp)
46ac18:	8d 55 80             	lea    -0x80(%ebp),%edx
46ac1b:	8b 03                	mov    (%ebx),%eax
46ac1d:	8b 40 60             	mov    0x60(%eax),%eax
46ac20:	e8 47 d5 fd ff       	call   0x44816c
46ac25:	8d 75 80             	lea    -0x80(%ebp),%esi
46ac28:	8d 7d b8             	lea    -0x48(%ebp),%edi
46ac2b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46ac2c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46ac2d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46ac2e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46ac2f:	8d 55 ec             	lea    -0x14(%ebp),%edx
46ac32:	8b 03                	mov    (%ebx),%eax
46ac34:	8b 40 60             	mov    0x60(%eax),%eax
46ac37:	8b 08                	mov    (%eax),%ecx
46ac39:	ff 51 40             	call   *0x40(%ecx)
46ac3c:	33 c0                	xor    %eax,%eax
46ac3e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46ac41:	33 c0                	xor    %eax,%eax
46ac43:	89 45 e8             	mov    %eax,-0x18(%ebp)
46ac46:	8b 03                	mov    (%ebx),%eax
46ac48:	8b 40 60             	mov    0x60(%eax),%eax
46ac4b:	8b 70 30             	mov    0x30(%eax),%esi
46ac4e:	85 f6                	test   %esi,%esi
46ac50:	74 0c                	je     0x46ac5e
46ac52:	8d 55 e4             	lea    -0x1c(%ebp),%edx
46ac55:	8b c6                	mov    %esi,%eax
46ac57:	8b 08                	mov    (%eax),%ecx
46ac59:	ff 51 40             	call   *0x40(%ecx)
46ac5c:	eb 2f                	jmp    0x46ac8d
46ac5e:	8b 03                	mov    (%ebx),%eax
46ac60:	8b 70 60             	mov    0x60(%eax),%esi
46ac63:	8b c6                	mov    %esi,%eax
46ac65:	8b 15 e8 45 44 00    	mov    0x4445e8,%edx
46ac6b:	e8 94 8f f9 ff       	call   0x403c04
46ac70:	84 c0                	test   %al,%al
46ac72:	74 19                	je     0x46ac8d
46ac74:	83 be 90 01 00 00 00 	cmpl   $0x0,0x190(%esi)
46ac7b:	74 10                	je     0x46ac8d
46ac7d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
46ac80:	50                   	push   %eax
46ac81:	8b 86 90 01 00 00    	mov    0x190(%esi),%eax
46ac87:	50                   	push   %eax
46ac88:	e8 d3 cb f9 ff       	call   0x407860
46ac8d:	8b 45 e8             	mov    -0x18(%ebp),%eax
46ac90:	2b 45 f0             	sub    -0x10(%ebp),%eax
46ac93:	50                   	push   %eax
46ac94:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46ac97:	2b 45 ec             	sub    -0x14(%ebp),%eax
46ac9a:	50                   	push   %eax
46ac9b:	8d 45 b8             	lea    -0x48(%ebp),%eax
46ac9e:	50                   	push   %eax
46ac9f:	e8 d4 cf f9 ff       	call   0x407c78
46aca4:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
46acaa:	8d 55 f4             	lea    -0xc(%ebp),%edx
46acad:	8b 03                	mov    (%ebx),%eax
46acaf:	8b 40 60             	mov    0x60(%eax),%eax
46acb2:	e8 59 d6 fd ff       	call   0x448310
46acb7:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
46acbd:	89 45 c8             	mov    %eax,-0x38(%ebp)
46acc0:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
46acc6:	89 45 cc             	mov    %eax,-0x34(%ebp)
46acc9:	8d 95 70 ff ff ff    	lea    -0x90(%ebp),%edx
46accf:	8b 03                	mov    (%ebx),%eax
46acd1:	8b 40 60             	mov    0x60(%eax),%eax
46acd4:	e8 9b d6 ff ff       	call   0x468374
46acd9:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
46acdf:	8d 95 74 ff ff ff    	lea    -0x8c(%ebp),%edx
46ace5:	e8 ee ab fd ff       	call   0x4458d8
46acea:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
46acf0:	8d 45 d8             	lea    -0x28(%ebp),%eax
46acf3:	e8 08 9c f9 ff       	call   0x404900
46acf8:	33 c0                	xor    %eax,%eax
46acfa:	89 45 d0             	mov    %eax,-0x30(%ebp)
46acfd:	8b 03                	mov    (%ebx),%eax
46acff:	8b 40 74             	mov    0x74(%eax),%eax
46ad02:	89 45 d4             	mov    %eax,-0x2c(%ebp)
46ad05:	a1 b8 ad 68 00       	mov    0x68adb8,%eax
46ad0a:	89 45 a4             	mov    %eax,-0x5c(%ebp)
46ad0d:	33 c0                	xor    %eax,%eax
46ad0f:	89 45 dc             	mov    %eax,-0x24(%ebp)
46ad12:	8d 45 a0             	lea    -0x60(%ebp),%eax
46ad15:	50                   	push   %eax
46ad16:	8b 03                	mov    (%ebx),%eax
46ad18:	8b 40 60             	mov    0x60(%eax),%eax
46ad1b:	33 c9                	xor    %ecx,%ecx
46ad1d:	ba 30 b0 00 00       	mov    $0xb030,%edx
46ad22:	e8 91 ec fd ff       	call   0x4499b8
46ad27:	85 c0                	test   %eax,%eax
46ad29:	0f 94 45 e3          	sete   -0x1d(%ebp)
46ad2d:	80 7d e3 00          	cmpb   $0x0,-0x1d(%ebp)
46ad31:	74 24                	je     0x46ad57
46ad33:	8b 03                	mov    (%ebx),%eax
46ad35:	66 83 b8 1a 01 00 00 	cmpw   $0x0,0x11a(%eax)
46ad3c:	00
46ad3d:	74 18                	je     0x46ad57
46ad3f:	8d 45 a0             	lea    -0x60(%ebp),%eax
46ad42:	50                   	push   %eax
46ad43:	8d 4d e3             	lea    -0x1d(%ebp),%ecx
46ad46:	8d 55 d8             	lea    -0x28(%ebp),%edx
46ad49:	8b 33                	mov    (%ebx),%esi
46ad4b:	8b 86 1c 01 00 00    	mov    0x11c(%esi),%eax
46ad51:	ff 96 18 01 00 00    	call   *0x118(%esi)
46ad57:	80 7d e3 00          	cmpb   $0x0,-0x1d(%ebp)
46ad5b:	74 08                	je     0x46ad65
46ad5d:	8b 03                	mov    (%ebx),%eax
46ad5f:	83 78 60 00          	cmpl   $0x0,0x60(%eax)
46ad63:	75 04                	jne    0x46ad69
46ad65:	33 c0                	xor    %eax,%eax
46ad67:	eb 02                	jmp    0x46ad6b
46ad69:	b0 01                	mov    $0x1,%al
46ad6b:	8b 13                	mov    (%ebx),%edx
46ad6d:	88 42 58             	mov    %al,0x58(%edx)
46ad70:	8b 03                	mov    (%ebx),%eax
46ad72:	80 78 58 00          	cmpb   $0x0,0x58(%eax)
46ad76:	0f 84 1f 01 00 00    	je     0x46ae9b
46ad7c:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
46ad80:	0f 84 15 01 00 00    	je     0x46ae9b
46ad86:	55                   	push   %ebp
46ad87:	8b 45 a4             	mov    -0x5c(%ebp),%eax
46ad8a:	e8 d5 fc ff ff       	call   0x46aa64
46ad8f:	59                   	pop    %ecx
46ad90:	8b 03                	mov    (%ebx),%eax
46ad92:	8b 40 60             	mov    0x60(%eax),%eax
46ad95:	8a 50 5f             	mov    0x5f(%eax),%dl
46ad98:	8b 03                	mov    (%ebx),%eax
46ad9a:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
46ada0:	8b 08                	mov    (%eax),%ecx
46ada2:	ff 51 70             	call   *0x70(%ecx)
46ada5:	8b 45 dc             	mov    -0x24(%ebp),%eax
46ada8:	50                   	push   %eax
46ada9:	8d 45 90             	lea    -0x70(%ebp),%eax
46adac:	50                   	push   %eax
46adad:	8b 03                	mov    (%ebx),%eax
46adaf:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
46adb5:	8b 4d d8             	mov    -0x28(%ebp),%ecx
46adb8:	8b 55 b0             	mov    -0x50(%ebp),%edx
46adbb:	8b 30                	mov    (%eax),%esi
46adbd:	ff 96 d4 00 00 00    	call   *0xd4(%esi)
46adc3:	8b 45 ac             	mov    -0x54(%ebp),%eax
46adc6:	50                   	push   %eax
46adc7:	8b 45 a8             	mov    -0x58(%ebp),%eax
46adca:	50                   	push   %eax
46adcb:	8d 45 90             	lea    -0x70(%ebp),%eax
46adce:	50                   	push   %eax
46adcf:	e8 a4 ce f9 ff       	call   0x407c78
46add4:	8b 03                	mov    (%ebx),%eax
46add6:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
46addc:	66 be c8 ff          	mov    $0xffc8,%si
46ade0:	e8 8f 8e f9 ff       	call   0x403c74
46ade5:	84 c0                	test   %al,%al
46ade7:	74 13                	je     0x46adfc
46ade9:	55                   	push   %ebp
46adea:	8b 45 d8             	mov    -0x28(%ebp),%eax
46aded:	e8 d2 fc ff ff       	call   0x46aac4
46adf2:	59                   	pop    %ecx
46adf3:	83 c0 05             	add    $0x5,%eax
46adf6:	29 45 90             	sub    %eax,-0x70(%ebp)
46adf9:	29 45 98             	sub    %eax,-0x68(%ebp)
46adfc:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
46ae02:	8d 55 b8             	lea    -0x48(%ebp),%edx
46ae05:	8b 03                	mov    (%ebx),%eax
46ae07:	8b 40 60             	mov    0x60(%eax),%eax
46ae0a:	e8 d5 d4 fd ff       	call   0x4482e4
46ae0f:	8b 03                	mov    (%ebx),%eax
46ae11:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
46ae17:	89 50 64             	mov    %edx,0x64(%eax)
46ae1a:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
46ae20:	89 50 68             	mov    %edx,0x68(%eax)
46ae23:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
46ae29:	8d 55 c0             	lea    -0x40(%ebp),%edx
46ae2c:	8b 03                	mov    (%ebx),%eax
46ae2e:	8b 40 60             	mov    0x60(%eax),%eax
46ae31:	e8 ae d4 fd ff       	call   0x4482e4
46ae36:	8b 03                	mov    (%ebx),%eax
46ae38:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
46ae3e:	89 50 6c             	mov    %edx,0x6c(%eax)
46ae41:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
46ae47:	89 50 70             	mov    %edx,0x70(%eax)
46ae4a:	8b 03                	mov    (%ebx),%eax
46ae4c:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
46ae52:	8b 55 b4             	mov    -0x4c(%ebp),%edx
46ae55:	e8 12 db fd ff       	call   0x44896c
46ae5a:	8b 45 dc             	mov    -0x24(%ebp),%eax
46ae5d:	50                   	push   %eax
46ae5e:	8b 03                	mov    (%ebx),%eax
46ae60:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
46ae66:	8b 4d d8             	mov    -0x28(%ebp),%ecx
46ae69:	8d 55 90             	lea    -0x70(%ebp),%edx
46ae6c:	8b 30                	mov    (%eax),%esi
46ae6e:	ff 96 d0 00 00 00    	call   *0xd0(%esi)
46ae74:	e8 47 d6 ff ff       	call   0x4684c0
46ae79:	8b 45 d0             	mov    -0x30(%ebp),%eax
46ae7c:	85 c0                	test   %eax,%eax
46ae7e:	7e 0d                	jle    0x46ae8d
46ae80:	33 c9                	xor    %ecx,%ecx
46ae82:	8b d0                	mov    %eax,%edx
46ae84:	8b 03                	mov    (%ebx),%eax
46ae86:	e8 55 f8 ff ff       	call   0x46a6e0
46ae8b:	eb 29                	jmp    0x46aeb6
46ae8d:	b1 01                	mov    $0x1,%cl
46ae8f:	8b 55 d4             	mov    -0x2c(%ebp),%edx
46ae92:	8b 03                	mov    (%ebx),%eax
46ae94:	e8 47 f8 ff ff       	call   0x46a6e0
46ae99:	eb 1b                	jmp    0x46aeb6
46ae9b:	8b 45 d0             	mov    -0x30(%ebp),%eax
46ae9e:	85 c0                	test   %eax,%eax
46aea0:	7e 0d                	jle    0x46aeaf
46aea2:	33 c9                	xor    %ecx,%ecx
46aea4:	8b d0                	mov    %eax,%edx
46aea6:	8b 03                	mov    (%ebx),%eax
46aea8:	e8 33 f8 ff ff       	call   0x46a6e0
46aead:	eb 07                	jmp    0x46aeb6
46aeaf:	8b 03                	mov    (%ebx),%eax
46aeb1:	e8 22 fa ff ff       	call   0x46a8d8
46aeb6:	33 c0                	xor    %eax,%eax
46aeb8:	5a                   	pop    %edx
46aeb9:	59                   	pop    %ecx
46aeba:	59                   	pop    %ecx
46aebb:	64 89 10             	mov    %edx,%fs:(%eax)
46aebe:	68 e9 ae 46 00       	push   $0x46aee9
46aec3:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
46aec9:	ba 02 00 00 00       	mov    $0x2,%edx
46aece:	e8 b9 99 f9 ff       	call   0x40488c
46aed3:	8d 45 a0             	lea    -0x60(%ebp),%eax
46aed6:	8b 15 d8 05 46 00    	mov    0x4605d8,%edx
46aedc:	e8 4b a5 f9 ff       	call   0x40542c
46aee1:	c3                   	ret
46aee2:	e9 25 93 f9 ff       	jmp    0x40420c
46aee7:	eb da                	jmp    0x46aec3
46aee9:	5f                   	pop    %edi
46aeea:	5e                   	pop    %esi
46aeeb:	5b                   	pop    %ebx
46aeec:	8b e5                	mov    %ebp,%esp
46aeee:	5d                   	pop    %ebp
46aeef:	c3                   	ret
46aef0:	53                   	push   %ebx
46aef1:	56                   	push   %esi
46aef2:	57                   	push   %edi
46aef3:	8b fa                	mov    %edx,%edi
46aef5:	8b f0                	mov    %eax,%esi
46aef7:	a1 40 8c 6a 00       	mov    0x6a8c40,%eax
46aefc:	8b 58 68             	mov    0x68(%eax),%ebx
46aeff:	85 db                	test   %ebx,%ebx
46af01:	74 18                	je     0x46af1b
46af03:	83 bb 3c 02 00 00 00 	cmpl   $0x0,0x23c(%ebx)
46af0a:	74 0f                	je     0x46af1b
46af0c:	8b c7                	mov    %edi,%eax
46af0e:	8b 93 3c 02 00 00    	mov    0x23c(%ebx),%edx
46af14:	e8 a3 99 f9 ff       	call   0x4048bc
46af19:	eb 0a                	jmp    0x46af25
46af1b:	8b c7                	mov    %edi,%eax
46af1d:	8b 56 50             	mov    0x50(%esi),%edx
46af20:	e8 97 99 f9 ff       	call   0x4048bc
46af25:	5f                   	pop    %edi
46af26:	5e                   	pop    %esi
46af27:	5b                   	pop    %ebx
46af28:	c3                   	ret
46af29:	8d 40 00             	lea    0x0(%eax),%eax
46af2c:	53                   	push   %ebx
46af2d:	56                   	push   %esi
46af2e:	57                   	push   %edi
46af2f:	55                   	push   %ebp
46af30:	83 c4 f8             	add    $0xfffffff8,%esp
46af33:	8b d9                	mov    %ecx,%ebx
46af35:	89 14 24             	mov    %edx,(%esp)
46af38:	8b f0                	mov    %eax,%esi
46af3a:	a1 40 8c 6a 00       	mov    0x6a8c40,%eax
46af3f:	8b 78 6c             	mov    0x6c(%eax),%edi
46af42:	85 ff                	test   %edi,%edi
46af44:	74 11                	je     0x46af57
46af46:	53                   	push   %ebx
46af47:	33 c9                	xor    %ecx,%ecx
46af49:	8b 54 24 04          	mov    0x4(%esp),%edx
46af4d:	8b c7                	mov    %edi,%eax
46af4f:	e8 64 ea fd ff       	call   0x4499b8
46af54:	48                   	dec    %eax
46af55:	74 20                	je     0x46af77
46af57:	8b 6e 44             	mov    0x44(%esi),%ebp
46af5a:	3b fd                	cmp    %ebp,%edi
46af5c:	74 15                	je     0x46af73
46af5e:	85 ed                	test   %ebp,%ebp
46af60:	74 11                	je     0x46af73
46af62:	53                   	push   %ebx
46af63:	33 c9                	xor    %ecx,%ecx
46af65:	8b 54 24 04          	mov    0x4(%esp),%edx
46af69:	8b c5                	mov    %ebp,%eax
46af6b:	e8 48 ea fd ff       	call   0x4499b8
46af70:	48                   	dec    %eax
46af71:	74 04                	je     0x46af77
46af73:	33 c0                	xor    %eax,%eax
46af75:	eb 02                	jmp    0x46af79
46af77:	b0 01                	mov    $0x1,%al
46af79:	88 44 24 04          	mov    %al,0x4(%esp)
46af7d:	80 7c 24 04 00       	cmpb   $0x0,0x4(%esp)
46af82:	75 2c                	jne    0x46afb0
46af84:	8b c3                	mov    %ebx,%eax
46af86:	8b 15 2c 42 45 00    	mov    0x45422c,%edx
46af8c:	e8 73 8c f9 ff       	call   0x403c04