46eed1:	4e                   	dec    %esi
46eed2:	40                   	inc    %eax
46eed3:	56                   	push   %esi
46eed4:	50                   	push   %eax
46eed5:	8d 44 24 40          	lea    0x40(%esp),%eax
46eed9:	50                   	push   %eax
46eeda:	e8 cc 8a f9 ff       	call   0x4079ab
46eedf:	8d 44 24 78          	lea    0x78(%esp),%eax
46eee3:	50                   	push   %eax
46eee4:	8d 4c 24 18          	lea    0x18(%esp),%ecx
46eee8:	e8 a1 8d f9 ff       	call   0x407c8e
46eeed:	be 88 95 4b 00       	mov    $0x4b9588,%esi
46eef2:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46eef6:	56                   	push   %esi
46eef7:	e8 0f 8f f9 ff       	call   0x407e0b
46eefc:	56                   	push   %esi
46eefd:	6a 00                	push   $0x0
46eeff:	e8 64 57 fb ff       	call   0x424668
46ef04:	59                   	pop    %ecx
46ef05:	59                   	pop    %ecx
46ef06:	85 c0                	test   %eax,%eax
46ef08:	0f 85 53 ff ff ff    	jne    0x46ee61
46ef0e:	56                   	push   %esi
46ef0f:	8d 4c 24 18          	lea    0x18(%esp),%ecx
46ef13:	e8 f3 8e f9 ff       	call   0x407e0b
46ef18:	33 f6                	xor    %esi,%esi
46ef1a:	46                   	inc    %esi
46ef1b:	39 74 24 18          	cmp    %esi,0x18(%esp)
46ef1f:	76 26                	jbe    0x46ef47
46ef21:	56                   	push   %esi
46ef22:	8d 4c 24 18          	lea    0x18(%esp),%ecx
46ef26:	e8 27 8c f9 ff       	call   0x407b52
46ef2b:	66 83 38 7c          	cmpw   $0x7c,(%eax)
46ef2f:	75 0f                	jne    0x46ef40
46ef31:	56                   	push   %esi
46ef32:	8d 4c 24 18          	lea    0x18(%esp),%ecx
46ef36:	e8 17 8c f9 ff       	call   0x407b52
46ef3b:	33 c9                	xor    %ecx,%ecx
46ef3d:	66 89 08             	mov    %cx,(%eax)
46ef40:	46                   	inc    %esi
46ef41:	3b 74 24 18          	cmp    0x18(%esp),%esi
46ef45:	72 da                	jb     0x46ef21
46ef47:	83 7d 10 06          	cmpl   $0x6,0x10(%ebp)
46ef4b:	72 0f                	jb     0x46ef5c
46ef4d:	8b 47 04             	mov    0x4(%edi),%eax
46ef50:	8b 48 14             	mov    0x14(%eax),%ecx
46ef53:	e8 63 9a ff ff       	call   0x4689bb
46ef58:	89 44 24 24          	mov    %eax,0x24(%esp)
46ef5c:	68 fe ff 01 00       	push   $0x1fffe
46ef61:	e8 90 20 fb ff       	call   0x420ff6
46ef66:	59                   	pop    %ecx
46ef67:	50                   	push   %eax
46ef68:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46ef6c:	e8 1d 64 f9 ff       	call   0x40538e
46ef71:	83 7d 10 05          	cmpl   $0x5,0x10(%ebp)
46ef75:	72 35                	jb     0x46efac
46ef77:	8b 47 04             	mov    0x4(%edi),%eax
46ef7a:	8b 70 10             	mov    0x10(%eax),%esi
46ef7d:	8b ce                	mov    %esi,%ecx
46ef7f:	e8 13 aa f9 ff       	call   0x409997
46ef84:	8b 46 08             	mov    0x8(%esi),%eax
46ef87:	8b 74 24 0c          	mov    0xc(%esp),%esi
46ef8b:	ff 30                	push   (%eax)
46ef8d:	56                   	push   %esi
46ef8e:	e8 69 40 fb ff       	call   0x422ffc
46ef93:	59                   	pop    %ecx
46ef94:	59                   	pop    %ecx
46ef95:	eb 1e                	jmp    0x46efb5
46ef97:	8b 03                	mov    (%ebx),%eax
46ef99:	6a 00                	push   $0x0
46ef9b:	6a 02                	push   $0x2
46ef9d:	8b 48 04             	mov    0x4(%eax),%ecx
46efa0:	03 cb                	add    %ebx,%ecx
46efa2:	e8 fc 7a fe ff       	call   0x456aa3
46efa7:	e9 03 02 00 00       	jmp    0x46f1af
46efac:	8b 74 24 0c          	mov    0xc(%esp),%esi
46efb0:	33 c0                	xor    %eax,%eax
46efb2:	66 89 06             	mov    %ax,(%esi)
46efb5:	6a 58                	push   $0x58
46efb7:	8d 84 24 8c 00 00 00 	lea    0x8c(%esp),%eax
46efbe:	6a 00                	push   $0x0
46efc0:	50                   	push   %eax
46efc1:	e8 5a 40 fb ff       	call   0x423020
46efc6:	8b 44 24 30          	mov    0x30(%esp),%eax
46efca:	83 c4 0c             	add    $0xc,%esp
46efcd:	83 7d 10 04          	cmpl   $0x4,0x10(%ebp)
46efd1:	89 84 24 8c 00 00 00 	mov    %eax,0x8c(%esp)
46efd8:	8b 44 24 14          	mov    0x14(%esp),%eax
46efdc:	89 84 24 94 00 00 00 	mov    %eax,0x94(%esp)
46efe3:	8b 44 24 34          	mov    0x34(%esp),%eax
46efe7:	89 84 24 b8 00 00 00 	mov    %eax,0xb8(%esp)
46efee:	8b 44 24 28          	mov    0x28(%esp),%eax
46eff2:	89 b4 24 a4 00 00 00 	mov    %esi,0xa4(%esp)
46eff9:	be 04 00 08 00       	mov    $0x80004,%esi
46effe:	c7 84 24 88 00 00 00 	movl   $0x58,0x88(%esp)
46f005:	58 00 00 00
46f009:	c7 84 24 a8 00 00 00 	movl   $0xffff,0xa8(%esp)
46f010:	ff ff 00 00
46f014:	89 84 24 b4 00 00 00 	mov    %eax,0xb4(%esp)
46f01b:	c7 84 24 c4 00 00 00 	movl   $0x48f910,0xc4(%esp)
46f022:	10 f9 48 00
46f026:	0f 82 85 00 00 00    	jb     0x46f0b1
46f02c:	8b 47 04             	mov    0x4(%edi),%eax
46f02f:	8b 48 0c             	mov    0xc(%eax),%ecx
46f032:	e8 65 ac f9 ff       	call   0x409c9c
46f037:	83 f8 1f             	cmp    $0x1f,%eax
46f03a:	7f 75                	jg     0x46f0b1
46f03c:	8b 47 04             	mov    0x4(%edi),%eax
46f03f:	8b 48 0c             	mov    0xc(%eax),%ecx
46f042:	e8 55 ac f9 ff       	call   0x409c9c
46f047:	85 c0                	test   %eax,%eax
46f049:	78 66                	js     0x46f0b1
46f04b:	8b 47 04             	mov    0x4(%edi),%eax
46f04e:	8b 48 0c             	mov    0xc(%eax),%ecx
46f051:	e8 46 ac f9 ff       	call   0x409c9c
46f056:	a8 10                	test   $0x10,%al
46f058:	74 03                	je     0x46f05d
46f05a:	83 c6 02             	add    $0x2,%esi
46f05d:	8b 47 04             	mov    0x4(%edi),%eax
46f060:	8b 48 0c             	mov    0xc(%eax),%ecx
46f063:	e8 34 ac f9 ff       	call   0x409c9c
46f068:	a8 08                	test   $0x8,%al
46f06a:	74 06                	je     0x46f072
46f06c:	81 ce 00 20 00 00    	or     $0x2000,%esi
46f072:	8b 47 04             	mov    0x4(%edi),%eax
46f075:	8b 48 0c             	mov    0xc(%eax),%ecx
46f078:	e8 1f ac f9 ff       	call   0x409c9c
46f07d:	a8 04                	test   $0x4,%al
46f07f:	74 06                	je     0x46f087
46f081:	81 ce 00 02 00 00    	or     $0x200,%esi
46f087:	8b 47 04             	mov    0x4(%edi),%eax
46f08a:	8b 48 0c             	mov    0xc(%eax),%ecx
46f08d:	e8 0a ac f9 ff       	call   0x409c9c
46f092:	a8 02                	test   $0x2,%al
46f094:	74 06                	je     0x46f09c
46f096:	81 ce 00 08 00 00    	or     $0x800,%esi
46f09c:	8b 47 04             	mov    0x4(%edi),%eax
46f09f:	8b 48 0c             	mov    0xc(%eax),%ecx
46f0a2:	e8 f5 ab f9 ff       	call   0x409c9c
46f0a7:	a8 01                	test   $0x1,%al
46f0a9:	74 06                	je     0x46f0b1
46f0ab:	81 ce 00 10 00 00    	or     $0x1000,%esi
46f0b1:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
46f0b5:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
46f0bc:	89 b4 24 bc 00 00 00 	mov    %esi,0xbc(%esp)
46f0c3:	50                   	push   %eax
46f0c4:	0f 84 a0 00 00 00    	je     0x46f16a
46f0ca:	ff 15 b8 f0 48 00    	call   *0x48f0b8
46f0d0:	85 c0                	test   %eax,%eax
46f0d2:	0f 84 ad 00 00 00    	je     0x46f185
46f0d8:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
46f0df:	f7 c6 00 02 00 00    	test   $0x200,%esi
46f0e5:	0f 84 90 00 00 00    	je     0x46f17b
46f0eb:	e8 4c 3d fb ff       	call   0x422e3c
46f0f0:	59                   	pop    %ecx
46f0f1:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
46f0f8:	8d 4c 24 5c          	lea    0x5c(%esp),%ecx
46f0fc:	8b f0                	mov    %eax,%esi
46f0fe:	e8 3e 8e f9 ff       	call   0x407f41
46f103:	8b 84 24 a4 00 00 00 	mov    0xa4(%esp),%eax
46f10a:	83 c0 02             	add    $0x2,%eax
46f10d:	33 db                	xor    %ebx,%ebx
46f10f:	eb 32                	jmp    0x46f143
46f111:	50                   	push   %eax
46f112:	e8 25 3d fb ff       	call   0x422e3c
46f117:	8d 4c 24 5c          	lea    0x5c(%esp),%ecx
46f11b:	c7 04 24 88 95 4b 00 	movl   $0x4b9588,(%esp)
46f122:	8b f0                	mov    %eax,%esi
46f124:	e8 e2 8c f9 ff       	call   0x407e0b
46f129:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
46f130:	8d 4c 24 5c          	lea    0x5c(%esp),%ecx
46f134:	e8 d2 8c f9 ff       	call   0x407e0b
46f139:	8b 84 24 a4 00 00 00 	mov    0xa4(%esp),%eax
46f140:	83 c0 02             	add    $0x2,%eax
46f143:	8d 04 70             	lea    (%eax,%esi,2),%eax
46f146:	89 84 24 a4 00 00 00 	mov    %eax,0xa4(%esp)
46f14d:	66 39 18             	cmp    %bx,(%eax)
46f150:	75 bf                	jne    0x46f111
46f152:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46f155:	8d 44 24 58          	lea    0x58(%esp),%eax
46f159:	50                   	push   %eax
46f15a:	e8 3d aa f9 ff       	call   0x409b9c
46f15f:	8d 4c 24 58          	lea    0x58(%esp),%ecx
46f163:	e8 fc 68 f9 ff       	call   0x405a64
46f168:	eb 2c                	jmp    0x46f196
46f16a:	ff 15 bc f0 48 00    	call   *0x48f0bc
46f170:	85 c0                	test   %eax,%eax
46f172:	74 11                	je     0x46f185
46f174:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
46f17b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46f17e:	e8 75 aa f9 ff       	call   0x409bf8
46f183:	eb 11                	jmp    0x46f196
46f185:	33 c0                	xor    %eax,%eax
46f187:	50                   	push   %eax
46f188:	8b 03                	mov    (%ebx),%eax
46f18a:	6a 01                	push   $0x1
46f18c:	8b 48 04             	mov    0x4(%eax),%ecx
46f18f:	03 cb                	add    %ebx,%ecx
46f191:	e8 0d 79 fe ff       	call   0x456aa3
46f196:	8b 44 24 10          	mov    0x10(%esp),%eax
46f19a:	ff 08                	decl   (%eax)
46f19c:	75 11                	jne    0x46f1af
46f19e:	50                   	push   %eax
46f19f:	e8 c8 1e fb ff       	call   0x42106c
46f1a4:	59                   	pop    %ecx
46f1a5:	ff 74 24 0c          	push   0xc(%esp)
46f1a9:	e8 be 1e fb ff       	call   0x42106c
46f1ae:	59                   	pop    %ecx
46f1af:	8b 44 24 30          	mov    0x30(%esp),%eax
46f1b3:	ff 08                	decl   (%eax)
46f1b5:	75 11                	jne    0x46f1c8
46f1b7:	50                   	push   %eax
46f1b8:	e8 af 1e fb ff       	call   0x42106c
46f1bd:	59                   	pop    %ecx
46f1be:	ff 74 24 2c          	push   0x2c(%esp)
46f1c2:	e8 a5 1e fb ff       	call   0x42106c
46f1c7:	59                   	pop    %ecx
46f1c8:	8d 4c 24 38          	lea    0x38(%esp),%ecx
46f1cc:	e8 93 68 f9 ff       	call   0x405a64
46f1d1:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46f1d5:	e8 8a 68 f9 ff       	call   0x405a64
46f1da:	8d 4c 24 68          	lea    0x68(%esp),%ecx
46f1de:	e8 81 68 f9 ff       	call   0x405a64
46f1e3:	8d 4c 24 48          	lea    0x48(%esp),%ecx
46f1e7:	e8 78 68 f9 ff       	call   0x405a64
46f1ec:	8d 4c 24 78          	lea    0x78(%esp),%ecx
46f1f0:	e8 6f 68 f9 ff       	call   0x405a64
46f1f5:	5f                   	pop    %edi
46f1f6:	5e                   	pop    %esi
46f1f7:	33 c0                	xor    %eax,%eax
46f1f9:	5b                   	pop    %ebx
46f1fa:	8b e5                	mov    %ebp,%esp
46f1fc:	5d                   	pop    %ebp
46f1fd:	c2 10 00             	ret    $0x10
46f200:	55                   	push   %ebp
46f201:	8b ec                	mov    %esp,%ebp
46f203:	81 ec 5c 02 00 00    	sub    $0x25c,%esp
46f209:	53                   	push   %ebx
46f20a:	56                   	push   %esi
46f20b:	57                   	push   %edi
46f20c:	8b 3d 04 f2 48 00    	mov    0x48f204,%edi
46f212:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
46f218:	50                   	push   %eax
46f219:	ff 75 08             	push   0x8(%ebp)
46f21c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46f21f:	32 db                	xor    %bl,%bl
46f221:	ff d7                	call   *%edi
46f223:	8b f0                	mov    %eax,%esi
46f225:	83 fe ff             	cmp    $0xffffffff,%esi
46f228:	74 71                	je     0x46f29b
46f22a:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
46f230:	68 80 fb 48 00       	push   $0x48fb80
46f235:	50                   	push   %eax
46f236:	e8 51 45 fb ff       	call   0x42378c
46f23b:	59                   	pop    %ecx
46f23c:	59                   	pop    %ecx
46f23d:	85 c0                	test   %eax,%eax
46f23f:	74 48                	je     0x46f289
46f241:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
46f247:	68 a0 a5 4b 00       	push   $0x4ba5a0
46f24c:	50                   	push   %eax
46f24d:	e8 3a 45 fb ff       	call   0x42378c
46f252:	59                   	pop    %ecx
46f253:	59                   	pop    %ecx
46f254:	85 c0                	test   %eax,%eax
46f256:	74 31                	je     0x46f289
46f258:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
46f25e:	50                   	push   %eax
46f25f:	ff 15 00 f2 48 00    	call   *0x48f200
46f265:	8b c8                	mov    %eax,%ecx
46f267:	8b 45 10             	mov    0x10(%ebp),%eax
46f26a:	0b 4d 0c             	or     0xc(%ebp),%ecx
46f26d:	f7 d0                	not    %eax
46f26f:	23 c8                	and    %eax,%ecx
46f271:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
46f277:	51                   	push   %ecx
46f278:	50                   	push   %eax
46f279:	ff 15 d0 f2 48 00    	call   *0x48f2d0
46f27f:	85 c0                	test   %eax,%eax
46f281:	0f 84 c7 00 00 00    	je     0x46f34e
46f287:	b3 01                	mov    $0x1,%bl
46f289:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
46f28f:	50                   	push   %eax
46f290:	56                   	push   %esi
46f291:	ff 15 18 f2 48 00    	call   *0x48f218
46f297:	85 c0                	test   %eax,%eax
46f299:	75 8f                	jne    0x46f22a
46f29b:	56                   	push   %esi
46f29c:	ff 15 ec f3 48 00    	call   *0x48f3ec
46f2a2:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
46f2a6:	0f 84 97 00 00 00    	je     0x46f343
46f2ac:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
46f2b2:	50                   	push   %eax
46f2b3:	68 98 a5 4b 00       	push   $0x4ba598
46f2b8:	ff d7                	call   *%edi
46f2ba:	8b f0                	mov    %eax,%esi
46f2bc:	83 fe ff             	cmp    $0xffffffff,%esi
46f2bf:	74 79                	je     0x46f33a
46f2c1:	8b 3d 08 f2 48 00    	mov    0x48f208,%edi
46f2c7:	8b 5d fc             	mov    -0x4(%ebp),%ebx
46f2ca:	f6 85 a8 fd ff ff 10 	testb  $0x10,-0x258(%ebp)
46f2d1:	74 55                	je     0x46f328
46f2d3:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
46f2d9:	68 80 fb 48 00       	push   $0x48fb80
46f2de:	50                   	push   %eax
46f2df:	e8 a8 44 fb ff       	call   0x42378c
46f2e4:	59                   	pop    %ecx
46f2e5:	59                   	pop    %ecx
46f2e6:	85 c0                	test   %eax,%eax
46f2e8:	74 3e                	je     0x46f328
46f2ea:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
46f2f0:	68 a0 a5 4b 00       	push   $0x4ba5a0
46f2f5:	50                   	push   %eax
46f2f6:	e8 91 44 fb ff       	call   0x42378c
46f2fb:	59                   	pop    %ecx
46f2fc:	59                   	pop    %ecx
46f2fd:	85 c0                	test   %eax,%eax
46f2ff:	74 27                	je     0x46f328
46f301:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
46f307:	50                   	push   %eax
46f308:	ff d7                	call   *%edi
46f30a:	ff 75 14             	push   0x14(%ebp)
46f30d:	8b cb                	mov    %ebx,%ecx
46f30f:	ff 75 10             	push   0x10(%ebp)
46f312:	ff 75 0c             	push   0xc(%ebp)
46f315:	ff 75 08             	push   0x8(%ebp)
46f318:	e8 e3 fe ff ff       	call   0x46f200
46f31d:	84 c0                	test   %al,%al
46f31f:	74 38                	je     0x46f359
46f321:	68 a0 a5 4b 00       	push   $0x4ba5a0
46f326:	ff d7                	call   *%edi
46f328:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
46f32e:	50                   	push   %eax
46f32f:	56                   	push   %esi
46f330:	ff 15 18 f2 48 00    	call   *0x48f218
46f336:	85 c0                	test   %eax,%eax
46f338:	75 90                	jne    0x46f2ca
46f33a:	b3 01                	mov    $0x1,%bl
46f33c:	56                   	push   %esi
46f33d:	ff 15 ec f3 48 00    	call   *0x48f3ec
46f343:	8a c3                	mov    %bl,%al
46f345:	5f                   	pop    %edi
46f346:	5e                   	pop    %esi
46f347:	5b                   	pop    %ebx
46f348:	8b e5                	mov    %ebp,%esp
46f34a:	5d                   	pop    %ebp
46f34b:	c2 10 00             	ret    $0x10
46f34e:	56                   	push   %esi
46f34f:	ff 15 ec f3 48 00    	call   *0x48f3ec
46f355:	32 c0                	xor    %al,%al