46fdfc:	55                   	push   %ebp
46fdfd:	8b ec                	mov    %esp,%ebp
46fdff:	83 c4 e0             	add    $0xffffffe0,%esp
46fe02:	53                   	push   %ebx
46fe03:	56                   	push   %esi
46fe04:	89 4d f8             	mov    %ecx,-0x8(%ebp)
46fe07:	89 55 fc             	mov    %edx,-0x4(%ebp)
46fe0a:	8b d8                	mov    %eax,%ebx
46fe0c:	8b 75 0c             	mov    0xc(%ebp),%esi
46fe0f:	8b 43 48             	mov    0x48(%ebx),%eax
46fe12:	3b f0                	cmp    %eax,%esi
46fe14:	74 04                	je     0x46fe1a
46fe16:	85 c0                	test   %eax,%eax
46fe18:	7f 14                	jg     0x46fe2e
46fe1a:	8b 53 4c             	mov    0x4c(%ebx),%edx
46fe1d:	3b 55 08             	cmp    0x8(%ebp),%edx
46fe20:	0f 84 9b 00 00 00    	je     0x46fec1
46fe26:	85 d2                	test   %edx,%edx
46fe28:	0f 8e 93 00 00 00    	jle    0x46fec1
46fe2e:	f6 83 85 02 00 00 04 	testb  $0x4,0x285(%ebx)
46fe35:	75 4f                	jne    0x46fe86
46fe37:	a1 24 78 4a 00       	mov    0x4a7824,%eax
46fe3c:	8b 00                	mov    (%eax),%eax
46fe3e:	8b 40 40             	mov    0x40(%eax),%eax
46fe41:	50                   	push   %eax
46fe42:	68 ec 09 00 00       	push   $0x9ec
46fe47:	8b 45 08             	mov    0x8(%ebp),%eax
46fe4a:	50                   	push   %eax
46fe4b:	e8 98 6c f9 ff       	call   0x406ae8
46fe50:	50                   	push   %eax
46fe51:	a1 24 78 4a 00       	mov    0x4a7824,%eax
46fe56:	8b 00                	mov    (%eax),%eax
46fe58:	8b 40 40             	mov    0x40(%eax),%eax
46fe5b:	50                   	push   %eax
46fe5c:	68 ec 09 00 00       	push   $0x9ec
46fe61:	56                   	push   %esi
46fe62:	e8 81 6c f9 ff       	call   0x406ae8
46fe67:	8d 4d e0             	lea    -0x20(%ebp),%ecx
46fe6a:	5a                   	pop    %edx
46fe6b:	e8 e8 6e fa ff       	call   0x416d58
46fe70:	8d 45 e0             	lea    -0x20(%ebp),%eax
46fe73:	50                   	push   %eax
46fe74:	6a 01                	push   $0x1
46fe76:	8b 83 60 02 00 00    	mov    0x260(%ebx),%eax
46fe7c:	50                   	push   %eax
46fe7d:	8b 00                	mov    (%eax),%eax
46fe7f:	ff 50 44             	call   *0x44(%eax)
46fe82:	85 c0                	test   %eax,%eax
46fe84:	74 09                	je     0x46fe8f
46fe86:	8b 73 48             	mov    0x48(%ebx),%esi
46fe89:	8b 43 4c             	mov    0x4c(%ebx),%eax
46fe8c:	89 45 08             	mov    %eax,0x8(%ebp)
46fe8f:	83 bb 74 02 00 00 00 	cmpl   $0x0,0x274(%ebx)
46fe96:	74 29                	je     0x46fec1
46fe98:	8b 45 08             	mov    0x8(%ebp),%eax
46fe9b:	50                   	push   %eax
46fe9c:	8d 45 e8             	lea    -0x18(%ebp),%eax
46fe9f:	50                   	push   %eax
46fea0:	8b ce                	mov    %esi,%ecx
46fea2:	8b 53 44             	mov    0x44(%ebx),%edx
46fea5:	8b 43 40             	mov    0x40(%ebx),%eax
46fea8:	e8 d3 6e fa ff       	call   0x416d80
46fead:	8d 45 e8             	lea    -0x18(%ebp),%eax
46feb0:	50                   	push   %eax
46feb1:	8d 45 e8             	lea    -0x18(%ebp),%eax
46feb4:	50                   	push   %eax
46feb5:	8b 83 74 02 00 00    	mov    0x274(%ebx),%eax
46febb:	50                   	push   %eax
46febc:	8b 00                	mov    (%eax),%eax
46febe:	ff 50 1c             	call   *0x1c(%eax)
46fec1:	56                   	push   %esi
46fec2:	8b 45 08             	mov    0x8(%ebp),%eax
46fec5:	50                   	push   %eax
46fec6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46fec9:	8b 55 fc             	mov    -0x4(%ebp),%edx
46fecc:	8b c3                	mov    %ebx,%eax
46fece:	e8 7d 14 fe ff       	call   0x451350
46fed3:	5e                   	pop    %esi
46fed4:	5b                   	pop    %ebx
46fed5:	8b e5                	mov    %ebp,%esp
46fed7:	5d                   	pop    %ebp
46fed8:	c2 08 00             	ret    $0x8
46fedb:	90                   	nop
46fedc:	e8 1b 00 00 00       	call   0x46fefc
46fee1:	c3                   	ret
46fee2:	8b c0                	mov    %eax,%eax
46fee4:	83 c4 f0             	add    $0xfffffff0,%esp
46fee7:	66 c7 04 24 09 00    	movw   $0x9,(%esp)
46feed:	89 4c 24 08          	mov    %ecx,0x8(%esp)
46fef1:	8b cc                	mov    %esp,%ecx
46fef3:	e8 d4 02 00 00       	call   0x4701cc
46fef8:	83 c4 10             	add    $0x10,%esp
46fefb:	c3                   	ret
46fefc:	83 c4 f0             	add    $0xfffffff0,%esp
46feff:	66 c7 04 24 03 00    	movw   $0x3,(%esp)
46ff05:	89 4c 24 08          	mov    %ecx,0x8(%esp)
46ff09:	8b cc                	mov    %esp,%ecx
46ff0b:	e8 bc 02 00 00       	call   0x4701cc
46ff10:	83 c4 10             	add    $0x10,%esp
46ff13:	c3                   	ret
46ff14:	55                   	push   %ebp
46ff15:	8b ec                	mov    %esp,%ebp
46ff17:	6a 00                	push   $0x0
46ff19:	6a 00                	push   $0x0
46ff1b:	53                   	push   %ebx
46ff1c:	56                   	push   %esi
46ff1d:	57                   	push   %edi
46ff1e:	8b f2                	mov    %edx,%esi
46ff20:	8b d8                	mov    %eax,%ebx
46ff22:	33 c0                	xor    %eax,%eax
46ff24:	55                   	push   %ebp
46ff25:	68 ba ff 46 00       	push   $0x46ffba
46ff2a:	64 ff 30             	push   %fs:(%eax)
46ff2d:	64 89 20             	mov    %esp,%fs:(%eax)
46ff30:	8d 45 fc             	lea    -0x4(%ebp),%eax
46ff33:	8b 53 08             	mov    0x8(%ebx),%edx
46ff36:	e8 a5 48 f9 ff       	call   0x4047e0
46ff3b:	8b d6                	mov    %esi,%edx
46ff3d:	8b c3                	mov    %ebx,%eax
46ff3f:	e8 18 9d fd ff       	call   0x449c5c
46ff44:	83 bb 68 02 00 00 00 	cmpl   $0x0,0x268(%ebx)
46ff4b:	74 52                	je     0x46ff9f
46ff4d:	68 42 fd ff ff       	push   $0xfffffd42
46ff52:	8b 83 68 02 00 00    	mov    0x268(%ebx),%eax
46ff58:	50                   	push   %eax
46ff59:	8b 00                	mov    (%eax),%eax
46ff5b:	ff 50 14             	call   *0x14(%eax)
46ff5e:	8b 83 50 02 00 00    	mov    0x250(%ebx),%eax
46ff64:	8b 40 2c             	mov    0x2c(%eax),%eax
46ff67:	a8 30                	test   $0x30,%al
46ff69:	74 34                	je     0x46ff9f
46ff6b:	a8 10                	test   $0x10,%al
46ff6d:	74 07                	je     0x46ff76
46ff6f:	bf fa fd ff ff       	mov    $0xfffffdfa,%edi
46ff74:	eb 05                	jmp    0x46ff7b
46ff76:	bf fb fd ff ff       	mov    $0xfffffdfb,%edi
46ff7b:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46ff7e:	8b d7                	mov    %edi,%edx
46ff80:	8b c3                	mov    %ebx,%eax
46ff82:	e8 35 f9 ff ff       	call   0x46f8bc
46ff87:	8b 55 f8             	mov    -0x8(%ebp),%edx
46ff8a:	8b 45 fc             	mov    -0x4(%ebp),%eax
46ff8d:	e8 c6 4b f9 ff       	call   0x404b58
46ff92:	75 0b                	jne    0x46ff9f
46ff94:	8b ce                	mov    %esi,%ecx
46ff96:	8b d7                	mov    %edi,%edx
46ff98:	8b c3                	mov    %ebx,%eax
46ff9a:	e8 e5 02 00 00       	call   0x470284
46ff9f:	33 c0                	xor    %eax,%eax
46ffa1:	5a                   	pop    %edx
46ffa2:	59                   	pop    %ecx
46ffa3:	59                   	pop    %ecx
46ffa4:	64 89 10             	mov    %edx,%fs:(%eax)
46ffa7:	68 c1 ff 46 00       	push   $0x46ffc1
46ffac:	8d 45 f8             	lea    -0x8(%ebp),%eax
46ffaf:	ba 02 00 00 00       	mov    $0x2,%edx
46ffb4:	e8 b3 47 f9 ff       	call   0x40476c
46ffb9:	c3                   	ret
46ffba:	e9 f1 40 f9 ff       	jmp    0x4040b0
46ffbf:	eb eb                	jmp    0x46ffac
46ffc1:	5f                   	pop    %edi
46ffc2:	5e                   	pop    %esi
46ffc3:	5b                   	pop    %ebx
46ffc4:	59                   	pop    %ecx
46ffc5:	59                   	pop    %ecx
46ffc6:	5d                   	pop    %ebp
46ffc7:	c3                   	ret
46ffc8:	83 c4 f0             	add    $0xfffffff0,%esp
46ffcb:	66 c7 04 24 0b 00    	movw   $0xb,(%esp)
46ffd1:	66 85 c9             	test   %cx,%cx
46ffd4:	74 09                	je     0x46ffdf
46ffd6:	66 c7 44 24 08 ff ff 	movw   $0xffff,0x8(%esp)
46ffdd:	eb 07                	jmp    0x46ffe6
46ffdf:	66 c7 44 24 08 00 00 	movw   $0x0,0x8(%esp)
46ffe6:	8b cc                	mov    %esp,%ecx
46ffe8:	e8 df 01 00 00       	call   0x4701cc
46ffed:	83 c4 10             	add    $0x10,%esp
46fff0:	c3                   	ret
46fff1:	8d 40 00             	lea    0x0(%eax),%eax
46fff4:	e8 d3 01 00 00       	call   0x4701cc
46fff9:	c3                   	ret
46fffa:	8b c0                	mov    %eax,%eax
46fffc:	55                   	push   %ebp
46fffd:	8b ec                	mov    %esp,%ebp
46ffff:	83 c4 f8             	add    $0xfffffff8,%esp
470002:	53                   	push   %ebx
470003:	56                   	push   %esi
470004:	57                   	push   %edi
470005:	33 c9                	xor    %ecx,%ecx
470007:	89 4d fc             	mov    %ecx,-0x4(%ebp)
47000a:	8b da                	mov    %edx,%ebx
47000c:	89 45 f8             	mov    %eax,-0x8(%ebp)
47000f:	33 c0                	xor    %eax,%eax
470011:	55                   	push   %ebp
470012:	68 cc 00 47 00       	push   $0x4700cc
470017:	64 ff 30             	push   %fs:(%eax)
47001a:	64 89 20             	mov    %esp,%fs:(%eax)
47001d:	8b d3                	mov    %ebx,%edx
47001f:	8b 45 f8             	mov    -0x8(%ebp),%eax
470022:	e8 39 2f fe ff       	call   0x452f60
470027:	85 db                	test   %ebx,%ebx
470029:	0f 84 87 00 00 00    	je     0x4700b6
47002f:	33 c0                	xor    %eax,%eax
470031:	55                   	push   %ebp
470032:	68 61 00 47 00       	push   $0x470061
470037:	64 ff 30             	push   %fs:(%eax)
47003a:	64 89 20             	mov    %esp,%fs:(%eax)
47003d:	8d 45 fc             	lea    -0x4(%ebp),%eax
470040:	e8 33 61 f9 ff       	call   0x406178
470045:	50                   	push   %eax
470046:	8b 45 f8             	mov    -0x8(%ebp),%eax
470049:	8b 80 60 02 00 00    	mov    0x260(%eax),%eax
47004f:	50                   	push   %eax
470050:	8b 00                	mov    (%eax),%eax
470052:	ff 50 10             	call   *0x10(%eax)
470055:	8b d8                	mov    %eax,%ebx
470057:	33 c0                	xor    %eax,%eax
470059:	5a                   	pop    %edx
47005a:	59                   	pop    %ecx
47005b:	59                   	pop    %ecx
47005c:	64 89 10             	mov    %edx,%fs:(%eax)
47005f:	eb 0d                	jmp    0x47006e
470061:	e9 96 3d f9 ff       	jmp    0x403dfc
470066:	83 cb ff             	or     $0xffffffff,%ebx
470069:	e8 9e 41 f9 ff       	call   0x40420c
47006e:	85 db                	test   %ebx,%ebx
470070:	75 06                	jne    0x470078
470072:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
470076:	75 21                	jne    0x470099
470078:	8b 45 f8             	mov    -0x8(%ebp),%eax
47007b:	85 c0                	test   %eax,%eax
47007d:	74 05                	je     0x470084
47007f:	2d 34 fd ff ff       	sub    $0xfffffd34,%eax
470084:	50                   	push   %eax
470085:	8b 45 f8             	mov    -0x8(%ebp),%eax
470088:	8b 80 60 02 00 00    	mov    0x260(%eax),%eax
47008e:	50                   	push   %eax
47008f:	8b 00                	mov    (%eax),%eax
470091:	ff 50 0c             	call   *0xc(%eax)
470094:	e8 13 b0 ff ff       	call   0x46b0ac
470099:	8b 45 f8             	mov    -0x8(%ebp),%eax
47009c:	83 b8 68 02 00 00 00 	cmpl   $0x0,0x268(%eax)
4700a3:	74 11                	je     0x4700b6
4700a5:	6a ff                	push   $0xffffffff
4700a7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4700aa:	8b 80 68 02 00 00    	mov    0x268(%eax),%eax
4700b0:	50                   	push   %eax
4700b1:	8b 00                	mov    (%eax),%eax
4700b3:	ff 50 14             	call   *0x14(%eax)
4700b6:	33 c0                	xor    %eax,%eax
4700b8:	5a                   	pop    %edx
4700b9:	59                   	pop    %ecx
4700ba:	59                   	pop    %ecx
4700bb:	64 89 10             	mov    %edx,%fs:(%eax)
4700be:	68 d3 00 47 00       	push   $0x4700d3
4700c3:	8d 45 fc             	lea    -0x4(%ebp),%eax
4700c6:	e8 ad 60 f9 ff       	call   0x406178
4700cb:	c3                   	ret
4700cc:	e9 df 3f f9 ff       	jmp    0x4040b0
4700d1:	eb f0                	jmp    0x4700c3
4700d3:	5f                   	pop    %edi
4700d4:	5e                   	pop    %esi
4700d5:	5b                   	pop    %ebx
4700d6:	59                   	pop    %ecx
4700d7:	59                   	pop    %ecx
4700d8:	5d                   	pop    %ebp
4700d9:	c3                   	ret
4700da:	8b c0                	mov    %eax,%eax
4700dc:	55                   	push   %ebp
4700dd:	8b ec                	mov    %esp,%ebp
4700df:	83 c4 f0             	add    $0xfffffff0,%esp
4700e2:	53                   	push   %ebx
4700e3:	56                   	push   %esi
4700e4:	57                   	push   %edi
4700e5:	33 db                	xor    %ebx,%ebx
4700e7:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4700ea:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4700ed:	89 55 f4             	mov    %edx,-0xc(%ebp)
4700f0:	89 45 f8             	mov    %eax,-0x8(%ebp)
4700f3:	33 c0                	xor    %eax,%eax
4700f5:	55                   	push   %ebp
4700f6:	68 be 01 47 00       	push   $0x4701be
4700fb:	64 ff 30             	push   %fs:(%eax)
4700fe:	64 89 20             	mov    %esp,%fs:(%eax)
470101:	8b 45 f8             	mov    -0x8(%ebp),%eax
470104:	80 b8 90 02 00 00 00 	cmpb   $0x0,0x290(%eax)
47010b:	0f 85 97 00 00 00    	jne    0x4701a8
470111:	8b 45 f8             	mov    -0x8(%ebp),%eax
470114:	c6 80 90 02 00 00 01 	movb   $0x1,0x290(%eax)
47011b:	33 c0                	xor    %eax,%eax
47011d:	55                   	push   %ebp
47011e:	68 a1 01 47 00       	push   $0x4701a1
470123:	64 ff 30             	push   %fs:(%eax)
470126:	64 89 20             	mov    %esp,%fs:(%eax)
470129:	8b 45 f8             	mov    -0x8(%ebp),%eax
47012c:	8b 80 8c 02 00 00    	mov    0x28c(%eax),%eax
470132:	8b 70 08             	mov    0x8(%eax),%esi
470135:	4e                   	dec    %esi
470136:	85 f6                	test   %esi,%esi
470138:	7c 4f                	jl     0x470189
47013a:	46                   	inc    %esi
47013b:	33 db                	xor    %ebx,%ebx
47013d:	8b 45 f8             	mov    -0x8(%ebp),%eax
470140:	8b 80 50 02 00 00    	mov    0x250(%eax),%eax
470146:	8b 40 40             	mov    0x40(%eax),%eax
470149:	8b 04 98             	mov    (%eax,%ebx,4),%eax
47014c:	3b 45 f4             	cmp    -0xc(%ebp),%eax
47014f:	75 34                	jne    0x470185
470151:	8b 45 f8             	mov    -0x8(%ebp),%eax
470154:	8b 80 8c 02 00 00    	mov    0x28c(%eax),%eax
47015a:	8b d3                	mov    %ebx,%edx
47015c:	e8 77 80 fa ff       	call   0x4181d8
470161:	8b f8                	mov    %eax,%edi
470163:	8b 55 f0             	mov    -0x10(%ebp),%edx
470166:	8b c7                	mov    %edi,%eax
470168:	8b 08                	mov    (%eax),%ecx
47016a:	ff 51 08             	call   *0x8(%ecx)
47016d:	8d 55 fc             	lea    -0x4(%ebp),%edx
470170:	8b c7                	mov    %edi,%eax
470172:	e8 99 cd ff ff       	call   0x46cf10
470177:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47017a:	8b 55 f4             	mov    -0xc(%ebp),%edx
47017d:	8b 45 f8             	mov    -0x8(%ebp),%eax
470180:	e8 5f fd ff ff       	call   0x46fee4
470185:	43                   	inc    %ebx
470186:	4e                   	dec    %esi
470187:	75 b4                	jne    0x47013d
470189:	33 c0                	xor    %eax,%eax
47018b:	5a                   	pop    %edx
47018c:	59                   	pop    %ecx
47018d:	59                   	pop    %ecx
47018e:	64 89 10             	mov    %edx,%fs:(%eax)
470191:	68 a8 01 47 00       	push   $0x4701a8
470196:	8b 45 f8             	mov    -0x8(%ebp),%eax
470199:	c6 80 90 02 00 00 00 	movb   $0x0,0x290(%eax)
4701a0:	c3                   	ret
4701a1:	e9 0a 3f f9 ff       	jmp    0x4040b0
4701a6:	eb ee                	jmp    0x470196
4701a8:	33 c0                	xor    %eax,%eax
4701aa:	5a                   	pop    %edx
4701ab:	59                   	pop    %ecx
4701ac:	59                   	pop    %ecx
4701ad:	64 89 10             	mov    %edx,%fs:(%eax)
4701b0:	68 c5 01 47 00       	push   $0x4701c5
4701b5:	8d 45 fc             	lea    -0x4(%ebp),%eax
4701b8:	e8 bb 5f f9 ff       	call   0x406178
4701bd:	c3                   	ret
4701be:	e9 ed 3e f9 ff       	jmp    0x4040b0
4701c3:	eb f0                	jmp    0x4701b5
4701c5:	5f                   	pop    %edi