46c8bd:	e8 4e 8d 00 00       	call   0x475610
46c8c2:	8b 45 e8             	mov    -0x18(%ebp),%eax
46c8c5:	48                   	dec    %eax
46c8c6:	83 f8 08             	cmp    $0x8,%eax
46c8c9:	0f 87 23 01 00 00    	ja     0x46c9f2
46c8cf:	ff 24 85 bc ca 46 00 	jmp    *0x46cabc(,%eax,4)
46c8d6:	8b ce                	mov    %esi,%ecx
46c8d8:	e8 43 3e 00 00       	call   0x470720
46c8dd:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46c8e0:	8b f8                	mov    %eax,%edi
46c8e2:	e8 39 3e 00 00       	call   0x470720
46c8e7:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
46c8eb:	8b d7                	mov    %edi,%edx
46c8ed:	72 02                	jb     0x46c8f1
46c8ef:	8b 17                	mov    (%edi),%edx
46c8f1:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
46c8f5:	8b c8                	mov    %eax,%ecx
46c8f7:	72 02                	jb     0x46c8fb
46c8f9:	8b 08                	mov    (%eax),%ecx
46c8fb:	ff 77 10             	push   0x10(%edi)
46c8fe:	52                   	push   %edx
46c8ff:	ff 70 10             	push   0x10(%eax)
46c902:	51                   	push   %ecx
46c903:	e8 08 1c 00 00       	call   0x46e510
46c908:	83 c4 10             	add    $0x10,%esp
46c90b:	c1 e8 1f             	shr    $0x1f,%eax
46c90e:	e9 c0 00 00 00       	jmp    0x46c9d3
46c913:	8b ce                	mov    %esi,%ecx
46c915:	e8 26 3b 00 00       	call   0x470440
46c91a:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46c91d:	8b d8                	mov    %eax,%ebx
46c91f:	8b fa                	mov    %edx,%edi
46c921:	e8 1a 3b 00 00       	call   0x470440
46c926:	3b d7                	cmp    %edi,%edx
46c928:	7f 0e                	jg     0x46c938
46c92a:	0f 8c 04 01 00 00    	jl     0x46ca34
46c930:	3b c3                	cmp    %ebx,%eax
46c932:	0f 82 fc 00 00 00    	jb     0x46ca34
46c938:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
46c93e:	8d 45 d0             	lea    -0x30(%ebp),%eax
46c941:	50                   	push   %eax
46c942:	e8 a9 2b 00 00       	call   0x46f4f0
46c947:	8b 9d 30 ff ff ff    	mov    -0xd0(%ebp),%ebx
46c94d:	8b bd 3c ff ff ff    	mov    -0xc4(%ebp),%edi
46c953:	e9 22 fe ff ff       	jmp    0x46c77a
46c958:	8b ce                	mov    %esi,%ecx
46c95a:	e8 f1 38 00 00       	call   0x470250
46c95f:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46c962:	8b f8                	mov    %eax,%edi
46c964:	e8 e7 38 00 00       	call   0x470250
46c969:	3b c7                	cmp    %edi,%eax
46c96b:	0f 9c c0             	setl   %al
46c96e:	eb 63                	jmp    0x46c9d3
46c970:	8b ce                	mov    %esi,%ecx
46c972:	e8 79 41 00 00       	call   0x470af0
46c977:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46c97a:	8b d8                	mov    %eax,%ebx
46c97c:	8b fa                	mov    %edx,%edi
46c97e:	e8 6d 41 00 00       	call   0x470af0
46c983:	3b d7                	cmp    %edi,%edx
46c985:	77 b1                	ja     0x46c938
46c987:	0f 82 a7 00 00 00    	jb     0x46ca34
46c98d:	3b c3                	cmp    %ebx,%eax
46c98f:	73 a7                	jae    0x46c938
46c991:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
46c997:	56                   	push   %esi
46c998:	e8 53 2b 00 00       	call   0x46f4f0
46c99d:	89 b5 34 ff ff ff    	mov    %esi,-0xcc(%ebp)
46c9a3:	e9 bf fe ff ff       	jmp    0x46c867
46c9a8:	8b ce                	mov    %esi,%ecx
46c9aa:	e8 51 3f 00 00       	call   0x470900
46c9af:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46c9b2:	8b f8                	mov    %eax,%edi
46c9b4:	e8 47 3f 00 00       	call   0x470900
46c9b9:	3b c7                	cmp    %edi,%eax
46c9bb:	eb 13                	jmp    0x46c9d0
46c9bd:	8b ce                	mov    %esi,%ecx
46c9bf:	e8 9c 36 00 00       	call   0x470060
46c9c4:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46c9c7:	8a d8                	mov    %al,%bl
46c9c9:	e8 92 36 00 00       	call   0x470060
46c9ce:	3a c3                	cmp    %bl,%al
46c9d0:	0f 92 c0             	setb   %al
46c9d3:	84 c0                	test   %al,%al
46c9d5:	0f 84 5d ff ff ff    	je     0x46c938
46c9db:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
46c9e1:	56                   	push   %esi
46c9e2:	e8 09 2b 00 00       	call   0x46f4f0
46c9e7:	89 b5 34 ff ff ff    	mov    %esi,-0xcc(%ebp)
46c9ed:	e9 75 fe ff ff       	jmp    0x46c867
46c9f2:	68 98 04 00 00       	push   $0x498
46c9f7:	68 88 79 60 00       	push   $0x607988
46c9fc:	6a 02                	push   $0x2
46c9fe:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
46ca04:	e8 d7 88 00 00       	call   0x4752e0
46ca09:	68 48 77 60 00       	push   $0x607748
46ca0e:	8b c8                	mov    %eax,%ecx
46ca10:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
46ca14:	e8 d7 8e 00 00       	call   0x4758f0
46ca19:	50                   	push   %eax
46ca1a:	8d 8d 39 ff ff ff    	lea    -0xc7(%ebp),%ecx
46ca20:	e8 5b 8c 00 00       	call   0x475680
46ca25:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
46ca2b:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
46ca2f:	e8 dc 8b 00 00       	call   0x475610
46ca34:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
46ca3a:	56                   	push   %esi
46ca3b:	e8 b0 2a 00 00       	call   0x46f4f0
46ca40:	89 b5 34 ff ff ff    	mov    %esi,-0xcc(%ebp)
46ca46:	e9 1c fe ff ff       	jmp    0x46c867
46ca4b:	68 98 04 00 00       	push   $0x498
46ca50:	68 88 79 60 00       	push   $0x607988
46ca55:	6a 02                	push   $0x2
46ca57:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
46ca5d:	e8 7e 88 00 00       	call   0x4752e0
46ca62:	68 48 77 60 00       	push   $0x607748
46ca67:	8b c8                	mov    %eax,%ecx
46ca69:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
46ca6d:	e8 7e 8e 00 00       	call   0x4758f0
46ca72:	50                   	push   %eax
46ca73:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
46ca79:	e8 02 8c 00 00       	call   0x475680
46ca7e:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
46ca84:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
46ca88:	e8 83 8b 00 00       	call   0x475610
46ca8d:	e9 c2 fc ff ff       	jmp    0x46c754
46ca92:	e8 59 97 16 00       	call   0x5d61f0
46ca97:	90                   	nop
46ca98:	ed                   	in     (%dx),%eax
46ca99:	c7 46 00 29 c7 46 00 	movl   $0x46c729,0x0(%esi)
46caa0:	2c c8                	sub    $0xc8,%al
46caa2:	46                   	inc    %esi
46caa3:	00 05 c8 46 00 4b    	add    %al,0x4b0046c8
46caa9:	ca 46 00             	lret   $0x46
46caac:	4b                   	dec    %ebx
46caad:	ca 46 00             	lret   $0x46
46cab0:	41                   	inc    %ecx
46cab1:	c8 46 00 4b          	enter  $0x46,$0x4b
46cab5:	ca 46 00             	lret   $0x46
46cab8:	ec                   	in     (%dx),%al
46cab9:	c6 46 00 58          	movb   $0x58,0x0(%esi)
46cabd:	c9                   	leave
46cabe:	46                   	inc    %esi
46cabf:	00 13                	add    %dl,(%ebx)
46cac1:	c9                   	leave
46cac2:	46                   	inc    %esi
46cac3:	00 a8 c9 46 00 70    	add    %ch,0x700046c9(%eax)
46cac9:	c9                   	leave
46caca:	46                   	inc    %esi
46cacb:	00 f2                	add    %dh,%dl
46cacd:	c9                   	leave
46cace:	46                   	inc    %esi
46cacf:	00 f2                	add    %dh,%dl
46cad1:	c9                   	leave
46cad2:	46                   	inc    %esi
46cad3:	00 bd c9 46 00 f2    	add    %bh,-0xdffb937(%ebp)
46cad9:	c9                   	leave
46cada:	46                   	inc    %esi
46cadb:	00 d6                	add    %dl,%dh
46cadd:	c8 46 00 55          	enter  $0x46,$0x55
46cae1:	8b ec                	mov    %esp,%ebp
46cae3:	6a ff                	push   $0xffffffff
46cae5:	68 c5 98 5f 00       	push   $0x5f98c5
46caea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
46caf0:	50                   	push   %eax
46caf1:	83 ec 74             	sub    $0x74,%esp
46caf4:	a1 c0 14 69 00       	mov    0x6914c0,%eax
46caf9:	33 c5                	xor    %ebp,%eax
46cafb:	89 45 f0             	mov    %eax,-0x10(%ebp)
46cafe:	53                   	push   %ebx
46caff:	56                   	push   %esi
46cb00:	57                   	push   %edi
46cb01:	50                   	push   %eax
46cb02:	8d 45 f4             	lea    -0xc(%ebp),%eax
46cb05:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
46cb0b:	8b 7d 08             	mov    0x8(%ebp),%edi
46cb0e:	8b 45 0c             	mov    0xc(%ebp),%eax
46cb11:	2b c7                	sub    %edi,%eax
46cb13:	89 7d a0             	mov    %edi,-0x60(%ebp)
46cb16:	c1 f8 05             	sar    $0x5,%eax
46cb19:	8b d8                	mov    %eax,%ebx
46cb1b:	89 45 88             	mov    %eax,-0x78(%ebp)
46cb1e:	d1 fb                	sar    $1,%ebx
46cb20:	85 db                	test   %ebx,%ebx
46cb22:	0f 8e 4f 02 00 00    	jle    0x46cd77
46cb28:	48                   	dec    %eax
46cb29:	89 45 84             	mov    %eax,-0x7c(%ebp)
46cb2c:	d1 f8                	sar    $1,%eax
46cb2e:	89 45 98             	mov    %eax,-0x68(%ebp)
46cb31:	8b c3                	mov    %ebx,%eax
46cb33:	c1 e0 05             	shl    $0x5,%eax
46cb36:	03 c7                	add    %edi,%eax
46cb38:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
46cb3f:	00
46cb40:	83 e8 20             	sub    $0x20,%eax
46cb43:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
46cb4a:	4b                   	dec    %ebx
46cb4b:	89 45 80             	mov    %eax,-0x80(%ebp)
46cb4e:	50                   	push   %eax
46cb4f:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46cb52:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
46cb55:	e8 96 29 00 00       	call   0x46f4f0
46cb5a:	8b 45 98             	mov    -0x68(%ebp),%eax
46cb5d:	8b f3                	mov    %ebx,%esi
46cb5f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
46cb66:	3b d8                	cmp    %eax,%ebx
46cb68:	0f 8d 89 01 00 00    	jge    0x46ccf7
46cb6e:	66 90                	xchg   %ax,%ax
46cb70:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
46cb73:	8d 58 02             	lea    0x2(%eax),%ebx
46cb76:	89 45 8c             	mov    %eax,-0x74(%ebp)
46cb79:	c1 e0 05             	shl    $0x5,%eax
46cb7c:	8d 4f 20             	lea    0x20(%edi),%ecx
46cb7f:	03 c8                	add    %eax,%ecx
46cb81:	89 5d 90             	mov    %ebx,-0x70(%ebp)
46cb84:	83 c0 40             	add    $0x40,%eax
46cb87:	89 4d a8             	mov    %ecx,-0x58(%ebp)
46cb8a:	03 c7                	add    %edi,%eax
46cb8c:	8b c8                	mov    %eax,%ecx
46cb8e:	89 45 a4             	mov    %eax,-0x5c(%ebp)
46cb91:	e8 5a 85 00 00       	call   0x4750f0
46cb96:	48                   	dec    %eax
46cb97:	83 f8 08             	cmp    $0x8,%eax
46cb9a:	0f 87 f7 00 00 00    	ja     0x46cc97
46cba0:	ff 24 85 98 cd 46 00 	jmp    *0x46cd98(,%eax,4)
46cba7:	8b 4d a8             	mov    -0x58(%ebp),%ecx
46cbaa:	e8 71 3b 00 00       	call   0x470720
46cbaf:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
46cbb2:	89 45 a8             	mov    %eax,-0x58(%ebp)
46cbb5:	e8 66 3b 00 00       	call   0x470720
46cbba:	8b 4d a8             	mov    -0x58(%ebp),%ecx
46cbbd:	89 4d a8             	mov    %ecx,-0x58(%ebp)
46cbc0:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
46cbc4:	72 05                	jb     0x46cbcb
46cbc6:	8b 11                	mov    (%ecx),%edx
46cbc8:	89 55 a8             	mov    %edx,-0x58(%ebp)
46cbcb:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
46cbcf:	8b d0                	mov    %eax,%edx
46cbd1:	72 02                	jb     0x46cbd5
46cbd3:	8b 10                	mov    (%eax),%edx
46cbd5:	ff 71 10             	push   0x10(%ecx)
46cbd8:	ff 75 a8             	push   -0x58(%ebp)
46cbdb:	ff 70 10             	push   0x10(%eax)
46cbde:	52                   	push   %edx
46cbdf:	e8 2c 19 00 00       	call   0x46e510
46cbe4:	83 c4 10             	add    $0x10,%esp
46cbe7:	c1 e8 1f             	shr    $0x1f,%eax
46cbea:	e9 a2 00 00 00       	jmp    0x46cc91
46cbef:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
46cbf2:	e8 49 38 00 00       	call   0x470440
46cbf7:	8b 4d a8             	mov    -0x58(%ebp),%ecx
46cbfa:	8b fa                	mov    %edx,%edi
46cbfc:	89 45 a4             	mov    %eax,-0x5c(%ebp)
46cbff:	e8 3c 38 00 00       	call   0x470440
46cc04:	3b fa                	cmp    %edx,%edi
46cc06:	0f 8c c4 00 00 00    	jl     0x46ccd0
46cc0c:	0f 8f c2 00 00 00    	jg     0x46ccd4
46cc12:	39 45 a4             	cmp    %eax,-0x5c(%ebp)
46cc15:	0f 82 b5 00 00 00    	jb     0x46ccd0
46cc1b:	e9 b4 00 00 00       	jmp    0x46ccd4
46cc20:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
46cc23:	e8 28 36 00 00       	call   0x470250
46cc28:	8b 4d a8             	mov    -0x58(%ebp),%ecx
46cc2b:	8b f8                	mov    %eax,%edi
46cc2d:	e8 1e 36 00 00       	call   0x470250
46cc32:	3b f8                	cmp    %eax,%edi
46cc34:	8b 7d a0             	mov    -0x60(%ebp),%edi
46cc37:	0f 9c c0             	setl   %al
46cc3a:	eb 55                	jmp    0x46cc91
46cc3c:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
46cc3f:	e8 ac 3e 00 00       	call   0x470af0
46cc44:	8b 4d a8             	mov    -0x58(%ebp),%ecx
46cc47:	8b fa                	mov    %edx,%edi
46cc49:	89 45 a4             	mov    %eax,-0x5c(%ebp)
46cc4c:	e8 9f 3e 00 00       	call   0x470af0
46cc51:	3b fa                	cmp    %edx,%edi
46cc53:	72 7b                	jb     0x46ccd0
46cc55:	77 7d                	ja     0x46ccd4
46cc57:	39 45 a4             	cmp    %eax,-0x5c(%ebp)
46cc5a:	72 74                	jb     0x46ccd0
46cc5c:	eb 76                	jmp    0x46ccd4
46cc5e:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
46cc61:	e8 9a 3c 00 00       	call   0x470900
46cc66:	8b 4d a8             	mov    -0x58(%ebp),%ecx
46cc69:	8b f8                	mov    %eax,%edi
46cc6b:	e8 90 3c 00 00       	call   0x470900
46cc70:	3b f8                	cmp    %eax,%edi
46cc72:	8b 7d a0             	mov    -0x60(%ebp),%edi
46cc75:	eb 17                	jmp    0x46cc8e
46cc77:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
46cc7a:	e8 e1 33 00 00       	call   0x470060
46cc7f:	8b 4d a8             	mov    -0x58(%ebp),%ecx
46cc82:	8a d8                	mov    %al,%bl
46cc84:	e8 d7 33 00 00       	call   0x470060
46cc89:	3a d8                	cmp    %al,%bl
46cc8b:	8b 5d 90             	mov    -0x70(%ebp),%ebx
46cc8e:	0f 92 c0             	setb   %al
46cc91:	84 c0                	test   %al,%al
46cc93:	74 42                	je     0x46ccd7
46cc95:	eb 39                	jmp    0x46ccd0
46cc97:	68 98 04 00 00       	push   $0x498
46cc9c:	68 88 79 60 00       	push   $0x607988
46cca1:	6a 02                	push   $0x2
46cca3:	8d 4d ac             	lea    -0x54(%ebp),%ecx
46cca6:	e8 35 86 00 00       	call   0x4752e0
46ccab:	68 48 77 60 00       	push   $0x607748
46ccb0:	8b c8                	mov    %eax,%ecx
46ccb2:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
46ccb6:	e8 35 8c 00 00       	call   0x4758f0
46ccbb:	50                   	push   %eax
46ccbc:	8d 4d 9f             	lea    -0x61(%ebp),%ecx
46ccbf:	e8 bc 89 00 00       	call   0x475680
46ccc4:	8d 4d ac             	lea    -0x54(%ebp),%ecx
46ccc7:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
46cccb:	e8 40 89 00 00       	call   0x475610
46ccd0:	8b 5d 8c             	mov    -0x74(%ebp),%ebx
46ccd3:	43                   	inc    %ebx
46ccd4:	8b 7d a0             	mov    -0x60(%ebp),%edi
46ccd7:	8b c3                	mov    %ebx,%eax
46ccd9:	c1 e6 05             	shl    $0x5,%esi
46ccdc:	c1 e0 05             	shl    $0x5,%eax
46ccdf:	03 c7                	add    %edi,%eax
46cce1:	50                   	push   %eax
46cce2:	8d 0c 37             	lea    (%edi,%esi,1),%ecx
46cce5:	e8 06 28 00 00       	call   0x46f4f0
46ccea:	8b 45 98             	mov    -0x68(%ebp),%eax
46cced:	8b f3                	mov    %ebx,%esi
46ccef:	3b d8                	cmp    %eax,%ebx
46ccf1:	0f 8c 79 fe ff ff    	jl     0x46cb70
46ccf7:	3b d8                	cmp    %eax,%ebx
46ccf9:	75 1e                	jne    0x46cd19
46ccfb:	8b 45 88             	mov    -0x78(%ebp),%eax
46ccfe:	a8 01                	test   $0x1,%al
46cd00:	75 17                	jne    0x46cd19
46cd02:	c1 e0 05             	shl    $0x5,%eax
46cd05:	c1 e6 05             	shl    $0x5,%esi
46cd08:	83 c0 e0             	add    $0xffffffe0,%eax
46cd0b:	03 c7                	add    %edi,%eax
46cd0d:	50                   	push   %eax
46cd0e:	8d 0c 37             	lea    (%edi,%esi,1),%ecx
46cd11:	e8 da 27 00 00       	call   0x46f4f0
46cd16:	8b 75 84             	mov    -0x7c(%ebp),%esi
46cd19:	ff 75 10             	push   0x10(%ebp)
46cd1c:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
46cd1f:	8d 45 d0             	lea    -0x30(%ebp),%eax
46cd22:	50                   	push   %eax
46cd23:	53                   	push   %ebx
46cd24:	56                   	push   %esi
46cd25:	57                   	push   %edi
46cd26:	e8 95 13 00 00       	call   0x46e0c0