46b9f7:	8b f9                	mov    %ecx,%edi
46b9f9:	75 04                	jne    0x46b9ff
46b9fb:	33 c0                	xor    %eax,%eax
46b9fd:	eb 07                	jmp    0x46ba06
46b9ff:	56                   	push   %esi
46ba00:	e8 eb c1 fa ff       	call   0x417bf0
46ba05:	59                   	pop    %ecx
46ba06:	50                   	push   %eax
46ba07:	56                   	push   %esi
46ba08:	8b cf                	mov    %edi,%ecx
46ba0a:	e8 2c ac f9 ff       	call   0x40663b
46ba0f:	5f                   	pop    %edi
46ba10:	5e                   	pop    %esi
46ba11:	c2 04 00             	ret    $0x4
46ba14:	56                   	push   %esi
46ba15:	ff 74 24 08          	push   0x8(%esp)
46ba19:	8b f1                	mov    %ecx,%esi
46ba1b:	e8 cf ff ff ff       	call   0x46b9ef
46ba20:	8b c6                	mov    %esi,%eax
46ba22:	5e                   	pop    %esi
46ba23:	c2 04 00             	ret    $0x4
46ba26:	56                   	push   %esi
46ba27:	ff 74 24 08          	push   0x8(%esp)
46ba2b:	8b f1                	mov    %ecx,%esi
46ba2d:	e8 bd ff ff ff       	call   0x46b9ef
46ba32:	8b c6                	mov    %esi,%eax
46ba34:	5e                   	pop    %esi
46ba35:	c2 04 00             	ret    $0x4
46ba38:	b8 88 9c 48 00       	mov    $0x489c88,%eax
46ba3d:	c3                   	ret
46ba3e:	b8 58 9c 48 00       	mov    $0x489c58,%eax
46ba43:	c3                   	ret
46ba44:	b8 24 9c 48 00       	mov    $0x489c24,%eax
46ba49:	c3                   	ret
46ba4a:	b8 f0 9b 48 00       	mov    $0x489bf0,%eax
46ba4f:	c3                   	ret
46ba50:	b8 f7 24 48 00       	mov    $0x4824f7,%eax
46ba55:	e8 22 c2 fa ff       	call   0x417c7c
46ba5a:	51                   	push   %ecx
46ba5b:	68 04 01 00 00       	push   $0x104
46ba60:	e8 c1 23 00 00       	call   0x46de26
46ba65:	8b c8                	mov    %eax,%ecx
46ba67:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46ba6a:	33 c0                	xor    %eax,%eax
46ba6c:	3b c8                	cmp    %eax,%ecx
46ba6e:	89 45 fc             	mov    %eax,-0x4(%ebp)
46ba71:	74 05                	je     0x46ba78
46ba73:	e8 52 1b 00 00       	call   0x46d5ca
46ba78:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46ba7b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46ba82:	c9                   	leave
46ba83:	c3                   	ret
46ba84:	68 50 ba 46 00       	push   $0x46ba50
46ba89:	e8 40 29 00 00       	call   0x46e3ce
46ba8e:	c3                   	ret
46ba8f:	68 50 ba 46 00       	push   $0x46ba50
46ba94:	e8 35 29 00 00       	call   0x46e3ce
46ba99:	c3                   	ret
46ba9a:	68 23 f0 00 00       	push   $0xf023
46ba9f:	6a 00                	push   $0x0
46baa1:	b9 98 a6 4a 00       	mov    $0x4aa698,%ecx
46baa6:	e8 4a ac f9 ff       	call   0x4066f5
46baab:	68 f1 ba 46 00       	push   $0x46baf1
46bab0:	e8 90 ba fa ff       	call   0x417545
46bab5:	59                   	pop    %ecx
46bab6:	c3                   	ret
46bab7:	68 21 f0 00 00       	push   $0xf021
46babc:	6a 00                	push   $0x0
46babe:	b9 30 a7 4a 00       	mov    $0x4aa730,%ecx
46bac3:	e8 6b ac f9 ff       	call   0x406733
46bac8:	68 fb ba 46 00       	push   $0x46bafb
46bacd:	e8 73 ba fa ff       	call   0x417545
46bad2:	59                   	pop    %ecx
46bad3:	c3                   	ret
46bad4:	68 25 f0 00 00       	push   $0xf025
46bad9:	6a 00                	push   $0x0
46badb:	b9 c8 a7 4a 00       	mov    $0x4aa7c8,%ecx
46bae0:	e8 8c ac f9 ff       	call   0x406771
46bae5:	68 05 bb 46 00       	push   $0x46bb05
46baea:	e8 56 ba fa ff       	call   0x417545
46baef:	59                   	pop    %ecx
46baf0:	c3                   	ret
46baf1:	b9 98 a6 4a 00       	mov    $0x4aa698,%ecx
46baf6:	e9 b1 ab f9 ff       	jmp    0x4066ac
46bafb:	b9 30 a7 4a 00       	mov    $0x4aa730,%ecx
46bb00:	e9 ae ab f9 ff       	jmp    0x4066b3
46bb05:	b9 c8 a7 4a 00       	mov    $0x4aa7c8,%ecx
46bb0a:	e9 ab ab f9 ff       	jmp    0x4066ba
46bb0f:	b8 b4 9e 48 00       	mov    $0x489eb4,%eax
46bb14:	c3                   	ret
46bb15:	b8 88 9e 48 00       	mov    $0x489e88,%eax
46bb1a:	c3                   	ret
46bb1b:	b8 60 9e 48 00       	mov    $0x489e60,%eax
46bb20:	c3                   	ret
46bb21:	b8 38 9e 48 00       	mov    $0x489e38,%eax
46bb26:	c3                   	ret
46bb27:	b8 08 9e 48 00       	mov    $0x489e08,%eax
46bb2c:	c3                   	ret
46bb2d:	b8 d8 9d 48 00       	mov    $0x489dd8,%eax
46bb32:	c3                   	ret
46bb33:	b8 ac 9d 48 00       	mov    $0x489dac,%eax
46bb38:	c3                   	ret
46bb39:	b8 80 9d 48 00       	mov    $0x489d80,%eax
46bb3e:	c3                   	ret
46bb3f:	b8 50 9d 48 00       	mov    $0x489d50,%eax
46bb44:	c3                   	ret
46bb45:	b8 24 9d 48 00       	mov    $0x489d24,%eax
46bb4a:	c3                   	ret
46bb4b:	b8 f8 9c 48 00       	mov    $0x489cf8,%eax
46bb50:	c3                   	ret
46bb51:	8b 54 24 04          	mov    0x4(%esp),%edx
46bb55:	85 d2                	test   %edx,%edx
46bb57:	7c 0d                	jl     0x46bb66
46bb59:	8b 01                	mov    (%ecx),%eax
46bb5b:	3b 50 f4             	cmp    -0xc(%eax),%edx
46bb5e:	7f 06                	jg     0x46bb66
46bb60:	8a 04 10             	mov    (%eax,%edx,1),%al
46bb63:	c2 04 00             	ret    $0x4
46bb66:	68 57 00 07 80       	push   $0x80070057
46bb6b:	e8 7a 56 f9 ff       	call   0x4011ea
46bb70:	cc                   	int3
46bb71:	56                   	push   %esi
46bb72:	ff 74 24 10          	push   0x10(%esp)
46bb76:	8b f1                	mov    %ecx,%esi
46bb78:	ff 74 24 10          	push   0x10(%esp)
46bb7c:	ff 74 24 10          	push   0x10(%esp)
46bb80:	e8 55 ae f9 ff       	call   0x4069da
46bb85:	8b c6                	mov    %esi,%eax
46bb87:	5e                   	pop    %esi
46bb88:	c2 0c 00             	ret    $0xc
46bb8b:	55                   	push   %ebp
46bb8c:	8b ec                	mov    %esp,%ebp
46bb8e:	51                   	push   %ecx
46bb8f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46bb93:	56                   	push   %esi
46bb94:	57                   	push   %edi
46bb95:	8b 7d 0c             	mov    0xc(%ebp),%edi
46bb98:	85 ff                	test   %edi,%edi
46bb9a:	7d 02                	jge    0x46bb9e
46bb9c:	33 ff                	xor    %edi,%edi
46bb9e:	8b 31                	mov    (%ecx),%esi
46bba0:	3b 7e f4             	cmp    -0xc(%esi),%edi
46bba3:	7c 0b                	jl     0x46bbb0
46bba5:	51                   	push   %ecx
46bba6:	8b 4d 08             	mov    0x8(%ebp),%ecx
46bba9:	e8 24 55 f9 ff       	call   0x4010d2
46bbae:	eb 13                	jmp    0x46bbc3
46bbb0:	8b 4e f0             	mov    -0x10(%esi),%ecx
46bbb3:	8b 01                	mov    (%ecx),%eax
46bbb5:	ff 50 10             	call   *0x10(%eax)
46bbb8:	8b 4d 08             	mov    0x8(%ebp),%ecx
46bbbb:	50                   	push   %eax
46bbbc:	57                   	push   %edi
46bbbd:	56                   	push   %esi
46bbbe:	e8 ae ff ff ff       	call   0x46bb71
46bbc3:	8b 45 08             	mov    0x8(%ebp),%eax
46bbc6:	5f                   	pop    %edi
46bbc7:	5e                   	pop    %esi
46bbc8:	c9                   	leave
46bbc9:	c2 08 00             	ret    $0x8
46bbcc:	8b 44 24 04          	mov    0x4(%esp),%eax
46bbd0:	8b 00                	mov    (%eax),%eax
46bbd2:	56                   	push   %esi
46bbd3:	ff 70 f4             	push   -0xc(%eax)
46bbd6:	8b f1                	mov    %ecx,%esi
46bbd8:	50                   	push   %eax
46bbd9:	e8 5d aa f9 ff       	call   0x40663b
46bbde:	8b c6                	mov    %esi,%eax
46bbe0:	5e                   	pop    %esi
46bbe1:	c2 04 00             	ret    $0x4
46bbe4:	56                   	push   %esi
46bbe5:	ff 74 24 08          	push   0x8(%esp)
46bbe9:	8b f1                	mov    %ecx,%esi
46bbeb:	e8 dc ff ff ff       	call   0x46bbcc
46bbf0:	8b c6                	mov    %esi,%eax
46bbf2:	5e                   	pop    %esi
46bbf3:	c2 04 00             	ret    $0x4
46bbf6:	b9 60 a8 4a 00       	mov    $0x4aa860,%ecx
46bbfb:	e8 dd c0 ff ff       	call   0x467cdd
46bc00:	68 0c bc 46 00       	push   $0x46bc0c
46bc05:	e8 3b b9 fa ff       	call   0x417545
46bc0a:	59                   	pop    %ecx
46bc0b:	c3                   	ret
46bc0c:	b9 60 a8 4a 00       	mov    $0x4aa860,%ecx
46bc11:	e9 00 c1 ff ff       	jmp    0x467d16
46bc16:	55                   	push   %ebp
46bc17:	8b ec                	mov    %esp,%ebp
46bc19:	81 ec 18 01 00 00    	sub    $0x118,%esp
46bc1f:	81 7d 0c 00 08 00 00 	cmpl   $0x800,0xc(%ebp)
46bc26:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
46bc2b:	89 45 fc             	mov    %eax,-0x4(%ebp)
46bc2e:	8d 45 0c             	lea    0xc(%ebp),%eax
46bc31:	75 41                	jne    0x46bc74
46bc33:	68 f8 a4 48 00       	push   $0x48a4f8
46bc38:	50                   	push   %eax
46bc39:	ff 15 04 03 4b 00    	call   *0x4b0304
46bc3f:	56                   	push   %esi
46bc40:	8d 45 0c             	lea    0xc(%ebp),%eax
46bc43:	50                   	push   %eax
46bc44:	ff 75 08             	push   0x8(%ebp)
46bc47:	be 12 01 00 00       	mov    $0x112,%esi
46bc4c:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
46bc52:	56                   	push   %esi
46bc53:	50                   	push   %eax
46bc54:	e8 55 c9 fa ff       	call   0x4185ae
46bc59:	83 c4 10             	add    $0x10,%esp
46bc5c:	83 f8 ff             	cmp    $0xffffffff,%eax
46bc5f:	74 27                	je     0x46bc88
46bc61:	3b c6                	cmp    %esi,%eax
46bc63:	73 23                	jae    0x46bc88
46bc65:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
46bc6b:	50                   	push   %eax
46bc6c:	ff 15 1c 03 4b 00    	call   *0x4b031c
46bc72:	eb 16                	jmp    0x46bc8a
46bc74:	6a 04                	push   $0x4
46bc76:	50                   	push   %eax
46bc77:	6a 03                	push   $0x3
46bc79:	ff 75 0c             	push   0xc(%ebp)
46bc7c:	ff 15 b0 03 4b 00    	call   *0x4b03b0
46bc82:	85 c0                	test   %eax,%eax
46bc84:	75 b9                	jne    0x46bc3f
46bc86:	eb 03                	jmp    0x46bc8b
46bc88:	33 c0                	xor    %eax,%eax
46bc8a:	5e                   	pop    %esi
46bc8b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46bc8e:	e8 4b bf fa ff       	call   0x417bde
46bc93:	c9                   	leave
46bc94:	c3                   	ret
46bc95:	8b 44 24 14          	mov    0x14(%esp),%eax
46bc99:	85 c0                	test   %eax,%eax
46bc9b:	74 0b                	je     0x46bca8
46bc9d:	66 8b 4c 24 10       	mov    0x10(%esp),%cx
46bca2:	66 89 08             	mov    %cx,(%eax)
46bca5:	33 c0                	xor    %eax,%eax
46bca7:	40                   	inc    %eax
46bca8:	c2 14 00             	ret    $0x14
46bcab:	55                   	push   %ebp
46bcac:	8b ec                	mov    %esp,%ebp
46bcae:	83 ec 3c             	sub    $0x3c,%esp
46bcb1:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
46bcb6:	53                   	push   %ebx
46bcb7:	56                   	push   %esi
46bcb8:	57                   	push   %edi
46bcb9:	8b 3d f4 02 4b 00    	mov    0x4b02f4,%edi
46bcbf:	33 db                	xor    %ebx,%ebx
46bcc1:	68 6c a5 48 00       	push   $0x48a56c
46bcc6:	89 45 fc             	mov    %eax,-0x4(%ebp)
46bcc9:	89 5d e8             	mov    %ebx,-0x18(%ebp)
46bccc:	33 f6                	xor    %esi,%esi
46bcce:	ff d7                	call   *%edi
46bcd0:	68 50 a5 48 00       	push   $0x48a550
46bcd5:	50                   	push   %eax
46bcd6:	89 45 e0             	mov    %eax,-0x20(%ebp)
46bcd9:	ff 15 f8 02 4b 00    	call   *0x4b02f8
46bcdf:	3b c3                	cmp    %ebx,%eax
46bce1:	74 6a                	je     0x46bd4d
46bce3:	ff d0                	call   *%eax
46bce5:	8b 35 fc 02 4b 00    	mov    0x4b02fc,%esi
46bceb:	bb ff 03 00 00       	mov    $0x3ff,%ebx
46bcf0:	bf 00 fc 00 00       	mov    $0xfc00,%edi
46bcf5:	89 45 e8             	mov    %eax,-0x18(%ebp)
46bcf8:	0f b7 c0             	movzwl %ax,%eax
46bcfb:	8b c8                	mov    %eax,%ecx
46bcfd:	23 cb                	and    %ebx,%ecx
46bcff:	0f b7 c9             	movzwl %cx,%ecx
46bd02:	23 c7                	and    %edi,%eax
46bd04:	0b c1                	or     %ecx,%eax
46bd06:	50                   	push   %eax
46bd07:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46bd0a:	ff d6                	call   *%esi
46bd0c:	ff 75 e4             	push   -0x1c(%ebp)
46bd0f:	89 45 c4             	mov    %eax,-0x3c(%ebp)
46bd12:	ff d6                	call   *%esi
46bd14:	68 34 a5 48 00       	push   $0x48a534
46bd19:	ff 75 e0             	push   -0x20(%ebp)
46bd1c:	89 45 c8             	mov    %eax,-0x38(%ebp)
46bd1f:	ff 15 f8 02 4b 00    	call   *0x4b02f8
46bd25:	ff d0                	call   *%eax
46bd27:	89 45 e8             	mov    %eax,-0x18(%ebp)
46bd2a:	0f b7 c0             	movzwl %ax,%eax
46bd2d:	8b c8                	mov    %eax,%ecx
46bd2f:	23 cb                	and    %ebx,%ecx
46bd31:	0f b7 d9             	movzwl %cx,%ebx
46bd34:	23 c7                	and    %edi,%eax
46bd36:	0b c3                	or     %ebx,%eax
46bd38:	50                   	push   %eax
46bd39:	ff d6                	call   *%esi
46bd3b:	53                   	push   %ebx
46bd3c:	89 45 cc             	mov    %eax,-0x34(%ebp)
46bd3f:	ff d6                	call   *%esi
46bd41:	89 45 d0             	mov    %eax,-0x30(%ebp)
46bd44:	6a 04                	push   $0x4
46bd46:	33 db                	xor    %ebx,%ebx
46bd48:	e9 02 01 00 00       	jmp    0x46be4f
46bd4d:	ff 15 98 03 4b 00    	call   *0x4b0398
46bd53:	85 c0                	test   %eax,%eax
46bd55:	0f 89 a2 00 00 00    	jns    0x46bdfd
46bd5b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
46bd5e:	50                   	push   %eax
46bd5f:	68 19 00 02 00       	push   $0x20019
46bd64:	53                   	push   %ebx
46bd65:	68 0c a5 48 00       	push   $0x48a50c
46bd6a:	68 01 00 00 80       	push   $0x80000001
46bd6f:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
46bd72:	ff 15 8c fe 4a 00    	call   *0x4afe8c
46bd78:	85 c0                	test   %eax,%eax
46bd7a:	0f 85 d0 00 00 00    	jne    0x46be50
46bd80:	8d 45 e0             	lea    -0x20(%ebp),%eax
46bd83:	50                   	push   %eax
46bd84:	8d 45 ec             	lea    -0x14(%ebp),%eax
46bd87:	50                   	push   %eax
46bd88:	8d 45 dc             	lea    -0x24(%ebp),%eax
46bd8b:	50                   	push   %eax
46bd8c:	53                   	push   %ebx
46bd8d:	53                   	push   %ebx
46bd8e:	ff 75 e4             	push   -0x1c(%ebp)
46bd91:	c7 45 e0 10 00 00 00 	movl   $0x10,-0x20(%ebp)
46bd98:	ff 15 88 fe 4a 00    	call   *0x4afe88
46bd9e:	85 c0                	test   %eax,%eax
46bda0:	75 50                	jne    0x46bdf2
46bda2:	83 7d dc 01          	cmpl   $0x1,-0x24(%ebp)
46bda6:	75 4a                	jne    0x46bdf2
46bda8:	8d 45 d8             	lea    -0x28(%ebp),%eax
46bdab:	50                   	push   %eax
46bdac:	8d 45 ec             	lea    -0x14(%ebp),%eax
46bdaf:	68 08 a5 48 00       	push   $0x48a508
46bdb4:	50                   	push   %eax
46bdb5:	e8 4b c8 fa ff       	call   0x418605
46bdba:	83 c4 0c             	add    $0xc,%esp
46bdbd:	83 f8 01             	cmp    $0x1,%eax
46bdc0:	75 30                	jne    0x46bdf2
46bdc2:	8b 45 d8             	mov    -0x28(%ebp),%eax
46bdc5:	8b 35 fc 02 4b 00    	mov    0x4b02fc,%esi
46bdcb:	89 45 e8             	mov    %eax,-0x18(%ebp)
46bdce:	0f b7 c0             	movzwl %ax,%eax
46bdd1:	8b c8                	mov    %eax,%ecx
46bdd3:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
46bdd9:	0f b7 f9             	movzwl %cx,%edi
46bddc:	25 00 fc 00 00       	and    $0xfc00,%eax
46bde1:	0b c7                	or     %edi,%eax
46bde3:	50                   	push   %eax
46bde4:	ff d6                	call   *%esi
46bde6:	57                   	push   %edi
46bde7:	89 45 c4             	mov    %eax,-0x3c(%ebp)
46bdea:	ff d6                	call   *%esi
46bdec:	6a 02                	push   $0x2
46bdee:	89 45 c8             	mov    %eax,-0x38(%ebp)
46bdf1:	5e                   	pop    %esi
46bdf2:	ff 75 e4             	push   -0x1c(%ebp)
46bdf5:	ff 15 ac fe 4a 00    	call   *0x4afeac