46f04a:	85 c9                	test   %ecx,%ecx
46f04c:	75 18                	jne    0x46f066
46f04e:	83 f8 40             	cmp    $0x40,%eax
46f051:	0f 83 81 00 00 00    	jae    0x46f0d8
46f057:	6a 2e                	push   $0x2e
46f059:	59                   	pop    %ecx
46f05a:	66 3b d9             	cmp    %cx,%bx
46f05d:	74 79                	je     0x46f0d8
46f05f:	50                   	push   %eax
46f060:	56                   	push   %esi
46f061:	6a 40                	push   $0x40
46f063:	57                   	push   %edi
46f064:	eb 3a                	jmp    0x46f0a0
46f066:	83 f9 01             	cmp    $0x1,%ecx
46f069:	75 16                	jne    0x46f081
46f06b:	83 f8 40             	cmp    $0x40,%eax
46f06e:	73 68                	jae    0x46f0d8
46f070:	83 fb 5f             	cmp    $0x5f,%ebx
46f073:	74 63                	je     0x46f0d8
46f075:	50                   	push   %eax
46f076:	56                   	push   %esi
46f077:	6a 40                	push   $0x40
46f079:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
46f07f:	eb 1e                	jmp    0x46f09f
46f081:	83 f9 02             	cmp    $0x2,%ecx
46f084:	75 52                	jne    0x46f0d8
46f086:	83 f8 10             	cmp    $0x10,%eax
46f089:	73 4d                	jae    0x46f0d8
46f08b:	66 85 db             	test   %bx,%bx
46f08e:	74 05                	je     0x46f095
46f090:	66 3b da             	cmp    %dx,%bx
46f093:	75 43                	jne    0x46f0d8
46f095:	50                   	push   %eax
46f096:	56                   	push   %esi
46f097:	6a 10                	push   $0x10
46f099:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
46f09f:	50                   	push   %eax
46f0a0:	e8 2d ff 00 00       	call   0x47efd2
46f0a5:	83 c4 10             	add    $0x10,%esp
46f0a8:	85 c0                	test   %eax,%eax
46f0aa:	75 23                	jne    0x46f0cf
46f0ac:	6a 2c                	push   $0x2c
46f0ae:	58                   	pop    %eax
46f0af:	66 3b d8             	cmp    %ax,%bx
46f0b2:	0f 84 2f ff ff ff    	je     0x46efe7
46f0b8:	66 85 db             	test   %bx,%bx
46f0bb:	0f 84 26 ff ff ff    	je     0x46efe7
46f0c1:	8b 75 f8             	mov    -0x8(%ebp),%esi
46f0c4:	83 c6 02             	add    $0x2,%esi
46f0c7:	ff 45 fc             	incl   -0x4(%ebp)
46f0ca:	e9 57 ff ff ff       	jmp    0x46f026
46f0cf:	33 c0                	xor    %eax,%eax
46f0d1:	50                   	push   %eax
46f0d2:	50                   	push   %eax
46f0d3:	50                   	push   %eax
46f0d4:	50                   	push   %eax
46f0d5:	50                   	push   %eax
46f0d6:	eb 0f                	jmp    0x46f0e7
46f0d8:	83 c8 ff             	or     $0xffffffff,%eax
46f0db:	5f                   	pop    %edi
46f0dc:	5e                   	pop    %esi
46f0dd:	5b                   	pop    %ebx
46f0de:	8b e5                	mov    %ebp,%esp
46f0e0:	5d                   	pop    %ebp
46f0e1:	c3                   	ret
46f0e2:	53                   	push   %ebx
46f0e3:	53                   	push   %ebx
46f0e4:	53                   	push   %ebx
46f0e5:	53                   	push   %ebx
46f0e6:	53                   	push   %ebx
46f0e7:	e8 17 dc fd ff       	call   0x44cd03
46f0ec:	cc                   	int3
46f0ed:	8b ff                	mov    %edi,%edi
46f0ef:	55                   	push   %ebp
46f0f0:	8b ec                	mov    %esp,%ebp
46f0f2:	56                   	push   %esi
46f0f3:	e8 08 2f 00 00       	call   0x472000
46f0f8:	8b 55 08             	mov    0x8(%ebp),%edx
46f0fb:	8b f0                	mov    %eax,%esi
46f0fd:	6a 00                	push   $0x0
46f0ff:	58                   	pop    %eax
46f100:	8b 8e 50 03 00 00    	mov    0x350(%esi),%ecx
46f106:	f6 c1 02             	test   $0x2,%cl
46f109:	0f 94 c0             	sete   %al
46f10c:	40                   	inc    %eax
46f10d:	83 fa ff             	cmp    $0xffffffff,%edx
46f110:	74 33                	je     0x46f145
46f112:	85 d2                	test   %edx,%edx
46f114:	74 36                	je     0x46f14c
46f116:	83 fa 01             	cmp    $0x1,%edx
46f119:	74 1f                	je     0x46f13a
46f11b:	83 fa 02             	cmp    $0x2,%edx
46f11e:	74 15                	je     0x46f135
46f120:	e8 0a dd fd ff       	call   0x44ce2f
46f125:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
46f12b:	e8 a6 db fd ff       	call   0x44ccd6
46f130:	83 c8 ff             	or     $0xffffffff,%eax
46f133:	eb 17                	jmp    0x46f14c
46f135:	83 e1 fd             	and    $0xfffffffd,%ecx
46f138:	eb 03                	jmp    0x46f13d
46f13a:	83 c9 02             	or     $0x2,%ecx
46f13d:	89 8e 50 03 00 00    	mov    %ecx,0x350(%esi)
46f143:	eb 07                	jmp    0x46f14c
46f145:	83 0d 38 84 4b 00 ff 	orl    $0xffffffff,0x4b8438
46f14c:	5e                   	pop    %esi
46f14d:	5d                   	pop    %ebp
46f14e:	c3                   	ret
46f14f:	8b ff                	mov    %edi,%edi
46f151:	55                   	push   %ebp
46f152:	8b ec                	mov    %esp,%ebp
46f154:	56                   	push   %esi
46f155:	8b 75 0c             	mov    0xc(%ebp),%esi
46f158:	85 f6                	test   %esi,%esi
46f15a:	74 1f                	je     0x46f17b
46f15c:	8b 45 08             	mov    0x8(%ebp),%eax
46f15f:	85 c0                	test   %eax,%eax
46f161:	74 18                	je     0x46f17b
46f163:	3b c6                	cmp    %esi,%eax
46f165:	74 14                	je     0x46f17b
46f167:	57                   	push   %edi
46f168:	6a 2e                	push   $0x2e
46f16a:	59                   	pop    %ecx
46f16b:	8b f8                	mov    %eax,%edi
46f16d:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46f16f:	83 60 0c 00          	andl   $0x0,0xc(%eax)
46f173:	50                   	push   %eax
46f174:	e8 a9 13 01 00       	call   0x480522
46f179:	59                   	pop    %ecx
46f17a:	5f                   	pop    %edi
46f17b:	5e                   	pop    %esi
46f17c:	5d                   	pop    %ebp
46f17d:	c3                   	ret
46f17e:	8b ff                	mov    %edi,%edi
46f180:	55                   	push   %ebp
46f181:	8b ec                	mov    %esp,%ebp
46f183:	81 ec 0c 01 00 00    	sub    $0x10c,%esp
46f189:	a1 94 80 4b 00       	mov    0x4b8094,%eax
46f18e:	33 c5                	xor    %ebp,%eax
46f190:	89 45 fc             	mov    %eax,-0x4(%ebp)
46f193:	8b 45 0c             	mov    0xc(%ebp),%eax
46f196:	56                   	push   %esi
46f197:	8b 75 08             	mov    0x8(%ebp),%esi
46f19a:	83 fe 05             	cmp    $0x5,%esi
46f19d:	77 32                	ja     0x46f1d1
46f19f:	85 c0                	test   %eax,%eax
46f1a1:	74 2e                	je     0x46f1d1
46f1a3:	68 83 00 00 00       	push   $0x83
46f1a8:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
46f1ae:	51                   	push   %ecx
46f1af:	6a ff                	push   $0xffffffff
46f1b1:	50                   	push   %eax
46f1b2:	6a 00                	push   $0x0
46f1b4:	6a 00                	push   $0x0
46f1b6:	ff 15 74 41 49 00    	call   *0x494174
46f1bc:	85 c0                	test   %eax,%eax
46f1be:	74 11                	je     0x46f1d1
46f1c0:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
46f1c6:	50                   	push   %eax
46f1c7:	56                   	push   %esi
46f1c8:	e8 bf 04 00 00       	call   0x46f68c
46f1cd:	59                   	pop    %ecx
46f1ce:	59                   	pop    %ecx
46f1cf:	eb 02                	jmp    0x46f1d3
46f1d1:	33 c0                	xor    %eax,%eax
46f1d3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46f1d6:	33 cd                	xor    %ebp,%ecx
46f1d8:	5e                   	pop    %esi
46f1d9:	e8 24 08 fd ff       	call   0x43fa02
46f1de:	8b e5                	mov    %ebp,%esp
46f1e0:	5d                   	pop    %ebp
46f1e1:	c3                   	ret
46f1e2:	8b ff                	mov    %edi,%edi
46f1e4:	55                   	push   %ebp
46f1e5:	8b ec                	mov    %esp,%ebp
46f1e7:	81 ec f4 01 00 00    	sub    $0x1f4,%esp
46f1ed:	a1 94 80 4b 00       	mov    0x4b8094,%eax
46f1f2:	33 c5                	xor    %ebp,%eax
46f1f4:	89 45 fc             	mov    %eax,-0x4(%ebp)
46f1f7:	8b 45 0c             	mov    0xc(%ebp),%eax
46f1fa:	53                   	push   %ebx
46f1fb:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
46f1fe:	56                   	push   %esi
46f1ff:	8b 75 08             	mov    0x8(%ebp),%esi
46f202:	89 85 14 fe ff ff    	mov    %eax,-0x1ec(%ebp)
46f208:	89 9d 18 fe ff ff    	mov    %ebx,-0x1e8(%ebp)
46f20e:	57                   	push   %edi
46f20f:	8b 7d 14             	mov    0x14(%ebp),%edi
46f212:	89 bd 1c fe ff ff    	mov    %edi,-0x1e4(%ebp)
46f218:	85 f6                	test   %esi,%esi
46f21a:	75 13                	jne    0x46f22f
46f21c:	33 c0                	xor    %eax,%eax
46f21e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46f221:	5f                   	pop    %edi
46f222:	5e                   	pop    %esi
46f223:	33 cd                	xor    %ebp,%ecx
46f225:	5b                   	pop    %ebx
46f226:	e8 d7 07 fd ff       	call   0x43fa02
46f22b:	8b e5                	mov    %ebp,%esp
46f22d:	5d                   	pop    %ebp
46f22e:	c3                   	ret
46f22f:	e8 cc 2d 00 00       	call   0x472000
46f234:	6a 55                	push   $0x55
46f236:	8d 48 68             	lea    0x68(%eax),%ecx
46f239:	89 8d 2c fe ff ff    	mov    %ecx,-0x1d4(%ebp)
46f23f:	8d 48 6c             	lea    0x6c(%eax),%ecx
46f242:	89 8d 20 fe ff ff    	mov    %ecx,-0x1e0(%ebp)
46f248:	8d 88 72 01 00 00    	lea    0x172(%eax),%ecx
46f24e:	05 a0 02 00 00       	add    $0x2a0,%eax
46f253:	89 8d 28 fe ff ff    	mov    %ecx,-0x1d8(%ebp)
46f259:	50                   	push   %eax
46f25a:	ff 75 18             	push   0x18(%ebp)
46f25d:	33 c9                	xor    %ecx,%ecx
46f25f:	89 85 10 fe ff ff    	mov    %eax,-0x1f0(%ebp)
46f265:	57                   	push   %edi
46f266:	89 8d 0c fe ff ff    	mov    %ecx,-0x1f4(%ebp)
46f26c:	89 8d 24 fe ff ff    	mov    %ecx,-0x1dc(%ebp)
46f272:	e8 5b fd 00 00       	call   0x47efd2
46f277:	83 c4 10             	add    $0x10,%esp
46f27a:	85 c0                	test   %eax,%eax
46f27c:	0f 85 6f 01 00 00    	jne    0x46f3f1
46f282:	66 83 3e 43          	cmpw   $0x43,(%esi)
46f286:	75 34                	jne    0x46f2bc
46f288:	33 ff                	xor    %edi,%edi
46f28a:	66 39 7e 02          	cmp    %di,0x2(%esi)
46f28e:	75 2c                	jne    0x46f2bc
46f290:	8b b5 14 fe ff ff    	mov    -0x1ec(%ebp),%esi
46f296:	68 70 d9 49 00       	push   $0x49d970
46f29b:	ff 75 10             	push   0x10(%ebp)
46f29e:	56                   	push   %esi
46f29f:	e8 c3 8b ff ff       	call   0x467e67
46f2a4:	83 c4 0c             	add    $0xc,%esp
46f2a7:	85 c0                	test   %eax,%eax
46f2a9:	0f 85 9f 02 00 00    	jne    0x46f54e
46f2af:	85 db                	test   %ebx,%ebx
46f2b1:	74 02                	je     0x46f2b5
46f2b3:	89 3b                	mov    %edi,(%ebx)
46f2b5:	8b c6                	mov    %esi,%eax
46f2b7:	e9 62 ff ff ff       	jmp    0x46f21e
46f2bc:	8b fe                	mov    %esi,%edi
46f2be:	33 d2                	xor    %edx,%edx
46f2c0:	8d 4f 02             	lea    0x2(%edi),%ecx
46f2c3:	66 8b 07             	mov    (%edi),%ax
46f2c6:	83 c7 02             	add    $0x2,%edi
46f2c9:	66 3b c2             	cmp    %dx,%ax
46f2cc:	75 f5                	jne    0x46f2c3
46f2ce:	2b f9                	sub    %ecx,%edi
46f2d0:	d1 ff                	sar    $1,%edi
46f2d2:	81 ff 83 00 00 00    	cmp    $0x83,%edi
46f2d8:	73 76                	jae    0x46f350
46f2da:	8b 85 28 fe ff ff    	mov    -0x1d8(%ebp),%eax
46f2e0:	8b ce                	mov    %esi,%ecx
46f2e2:	66 8b 10             	mov    (%eax),%dx
46f2e5:	66 3b 11             	cmp    (%ecx),%dx
46f2e8:	75 1e                	jne    0x46f308
46f2ea:	66 85 d2             	test   %dx,%dx
46f2ed:	74 15                	je     0x46f304
46f2ef:	66 8b 50 02          	mov    0x2(%eax),%dx
46f2f3:	66 3b 51 02          	cmp    0x2(%ecx),%dx
46f2f7:	75 0f                	jne    0x46f308
46f2f9:	83 c0 04             	add    $0x4,%eax
46f2fc:	83 c1 04             	add    $0x4,%ecx
46f2ff:	66 85 d2             	test   %dx,%dx
46f302:	75 de                	jne    0x46f2e2
46f304:	33 c0                	xor    %eax,%eax
46f306:	eb 05                	jmp    0x46f30d
46f308:	1b c0                	sbb    %eax,%eax
46f30a:	83 c8 01             	or     $0x1,%eax
46f30d:	85 c0                	test   %eax,%eax
46f30f:	0f 84 c3 01 00 00    	je     0x46f4d8
46f315:	8b 85 20 fe ff ff    	mov    -0x1e0(%ebp),%eax
46f31b:	8b ce                	mov    %esi,%ecx
46f31d:	66 8b 10             	mov    (%eax),%dx
46f320:	66 3b 11             	cmp    (%ecx),%dx
46f323:	75 1e                	jne    0x46f343
46f325:	66 85 d2             	test   %dx,%dx
46f328:	74 15                	je     0x46f33f
46f32a:	66 8b 50 02          	mov    0x2(%eax),%dx
46f32e:	66 3b 51 02          	cmp    0x2(%ecx),%dx
46f332:	75 0f                	jne    0x46f343
46f334:	83 c0 04             	add    $0x4,%eax
46f337:	83 c1 04             	add    $0x4,%ecx
46f33a:	66 85 d2             	test   %dx,%dx
46f33d:	75 de                	jne    0x46f31d
46f33f:	33 c0                	xor    %eax,%eax
46f341:	eb 05                	jmp    0x46f348
46f343:	1b c0                	sbb    %eax,%eax
46f345:	83 c8 01             	or     $0x1,%eax
46f348:	85 c0                	test   %eax,%eax
46f34a:	0f 84 88 01 00 00    	je     0x46f4d8
46f350:	e8 b5 63 00 00       	call   0x47570a
46f355:	33 db                	xor    %ebx,%ebx
46f357:	84 c0                	test   %al,%al
46f359:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
46f35f:	56                   	push   %esi
46f360:	50                   	push   %eax
46f361:	0f 94 c3             	sete   %bl
46f364:	e8 55 fc ff ff       	call   0x46efbe
46f369:	59                   	pop    %ecx
46f36a:	59                   	pop    %ecx
46f36b:	85 c0                	test   %eax,%eax
46f36d:	0f 85 8a 00 00 00    	jne    0x46f3fd
46f373:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
46f379:	85 db                	test   %ebx,%ebx
46f37b:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
46f381:	50                   	push   %eax
46f382:	53                   	push   %ebx
46f383:	50                   	push   %eax
46f384:	74 07                	je     0x46f38d
46f386:	e8 c2 25 01 00       	call   0x48194d
46f38b:	eb 05                	jmp    0x46f392
46f38d:	e8 65 1c 01 00       	call   0x480ff7
46f392:	83 c4 0c             	add    $0xc,%esp
46f395:	85 c0                	test   %eax,%eax
46f397:	74 6a                	je     0x46f403
46f399:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
46f39f:	50                   	push   %eax
46f3a0:	68 83 00 00 00       	push   $0x83
46f3a5:	ff b5 28 fe ff ff    	push   -0x1d8(%ebp)
46f3ab:	e8 9e fb ff ff       	call   0x46ef4e
46f3b0:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
46f3b6:	83 c4 0c             	add    $0xc,%esp
46f3b9:	85 db                	test   %ebx,%ebx
46f3bb:	0f 84 d4 00 00 00    	je     0x46f495
46f3c1:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
46f3c7:	8d 51 02             	lea    0x2(%ecx),%edx
46f3ca:	66 8b 01             	mov    (%ecx),%ax
46f3cd:	83 c1 02             	add    $0x2,%ecx
46f3d0:	66 3b 85 0c fe ff ff 	cmp    -0x1f4(%ebp),%ax
46f3d7:	75 f1                	jne    0x46f3ca
46f3d9:	2b ca                	sub    %edx,%ecx
46f3db:	d1 f9                	sar    $1,%ecx
46f3dd:	8d 41 01             	lea    0x1(%ecx),%eax
46f3e0:	50                   	push   %eax
46f3e1:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
46f3e7:	50                   	push   %eax
46f3e8:	ff 75 18             	push   0x18(%ebp)
46f3eb:	53                   	push   %ebx
46f3ec:	e9 94 00 00 00       	jmp    0x46f485
46f3f1:	33 c0                	xor    %eax,%eax
46f3f3:	50                   	push   %eax
46f3f4:	50                   	push   %eax
46f3f5:	50                   	push   %eax
46f3f6:	50                   	push   %eax
46f3f7:	50                   	push   %eax
46f3f8:	e9 56 01 00 00       	jmp    0x46f553
46f3fd:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
46f403:	56                   	push   %esi
46f404:	e8 5d 5f 00 00       	call   0x475366
46f409:	85 c0                	test   %eax,%eax
46f40b:	0f 84 fd 00 00 00    	je     0x46f50e