40f2cd:	c3                   	ret
40f2ce:	33 c0                	xor    %eax,%eax
40f2d0:	5e                   	pop    %esi
40f2d1:	5b                   	pop    %ebx
40f2d2:	c3                   	ret
40f2d3:	90                   	nop
40f2d4:	55                   	push   %ebp
40f2d5:	8b ec                	mov    %esp,%ebp
40f2d7:	33 c0                	xor    %eax,%eax
40f2d9:	55                   	push   %ebp
40f2da:	68 f9 f2 40 00       	push   $0x40f2f9
40f2df:	64 ff 30             	push   %fs:(%eax)
40f2e2:	64 89 20             	mov    %esp,%fs:(%eax)
40f2e5:	ff 05 7c 99 42 00    	incl   0x42997c
40f2eb:	33 c0                	xor    %eax,%eax
40f2ed:	5a                   	pop    %edx
40f2ee:	59                   	pop    %ecx
40f2ef:	59                   	pop    %ecx
40f2f0:	64 89 10             	mov    %edx,%fs:(%eax)
40f2f3:	68 00 f3 40 00       	push   $0x40f300
40f2f8:	c3                   	ret
40f2f9:	e9 0a 3e ff ff       	jmp    0x403108
40f2fe:	eb f8                	jmp    0x40f2f8
40f300:	5d                   	pop    %ebp
40f301:	c3                   	ret
40f302:	8b c0                	mov    %eax,%eax
40f304:	83 2d 7c 99 42 00 01 	subl   $0x1,0x42997c
40f30b:	c3                   	ret
40f30c:	6e                   	outsb  %ds:(%esi),(%dx)
40f30d:	65 65 64 20 64 69 63 	gs gs and %ah,%fs:0x63(%ecx,%ebp,2)
40f314:	74 69                	je     0x40f37f
40f316:	6f                   	outsl  %ds:(%esi),(%dx)
40f317:	6e                   	outsb  %ds:(%esi),(%dx)
40f318:	61                   	popa
40f319:	72 79                	jb     0x40f394
40f31b:	00 73 74             	add    %dh,0x74(%ebx)
40f31e:	72 65                	jb     0x40f385
40f320:	61                   	popa
40f321:	6d                   	insl   (%dx),%es:(%edi)
40f322:	20 65 6e             	and    %ah,0x6e(%ebp)
40f325:	64 00 00             	add    %al,%fs:(%eax)
40f328:	00 00                	add    %al,(%eax)
40f32a:	00 00                	add    %al,(%eax)
40f32c:	66 69 6c 65 20 65 72 	imul   $0x7265,0x20(%ebp,%eiz,2),%bp
40f333:	72 6f                	jb     0x40f3a4
40f335:	72 00                	jb     0x40f337
40f337:	00 73 74             	add    %dh,0x74(%ebx)
40f33a:	72 65                	jb     0x40f3a1
40f33c:	61                   	popa
40f33d:	6d                   	insl   (%dx),%es:(%edi)
40f33e:	20 65 72             	and    %ah,0x72(%ebp)
40f341:	72 6f                	jb     0x40f3b2
40f343:	72 00                	jb     0x40f345
40f345:	00 00                	add    %al,(%eax)
40f347:	00 64 61 74          	add    %ah,0x74(%ecx,%eiz,2)
40f34b:	61                   	popa
40f34c:	20 65 72             	and    %ah,0x72(%ebp)
40f34f:	72 6f                	jb     0x40f3c0
40f351:	72 00                	jb     0x40f353
40f353:	00 69 6e             	add    %ch,0x6e(%ecx)
40f356:	73 75                	jae    0x40f3cd
40f358:	66 66 69 63 69 65 6e 	data16 imul $0x6e65,0x69(%ebx),%sp
40f35f:	74 20                	je     0x40f381
40f361:	6d                   	insl   (%dx),%es:(%edi)
40f362:	65 6d                	gs insl (%dx),%es:(%edi)
40f364:	6f                   	outsl  %ds:(%esi),(%dx)
40f365:	72 79                	jb     0x40f3e0
40f367:	00 62 75             	add    %ah,0x75(%edx)
40f36a:	66 66 65 72 20       	data16 data16 gs jb 0x40f38f
40f36f:	65 72 72             	gs jb  0x40f3e4
40f372:	6f                   	outsl  %ds:(%esi),(%dx)
40f373:	72 00                	jb     0x40f375
40f375:	00 00                	add    %al,(%eax)
40f377:	00 69 6e             	add    %ch,0x6e(%ecx)
40f37a:	63 6f 6d             	arpl   %ebp,0x6d(%edi)
40f37d:	70 61                	jo     0x40f3e0
40f37f:	74 69                	je     0x40f3ea
40f381:	62 6c 65 20          	bound  %ebp,0x20(%ebp,%eiz,2)
40f385:	76 65                	jbe    0x40f3ec
40f387:	72 73                	jb     0x40f3fc
40f389:	69 6f 6e 00 00 00 00 	imul   $0x0,0x6e(%edi),%ebp
40f390:	55                   	push   %ebp
40f391:	8b ec                	mov    %esp,%ebp
40f393:	8b 45 08             	mov    0x8(%ebp),%eax
40f396:	8a 4d 0c             	mov    0xc(%ebp),%cl
40f399:	8b 55 10             	mov    0x10(%ebp),%edx
40f39c:	e8 f3 36 ff ff       	call   0x402a94
40f3a1:	5d                   	pop    %ebp
40f3a2:	c3                   	ret
40f3a3:	90                   	nop
40f3a4:	55                   	push   %ebp
40f3a5:	8b ec                	mov    %esp,%ebp
40f3a7:	8b 55 08             	mov    0x8(%ebp),%edx
40f3aa:	8b 45 0c             	mov    0xc(%ebp),%eax
40f3ad:	8b 4d 10             	mov    0x10(%ebp),%ecx
40f3b0:	e8 8f 35 ff ff       	call   0x402944
40f3b5:	5d                   	pop    %ebp
40f3b6:	c3                   	ret
40f3b7:	90                   	nop
40f3b8:	8b c2                	mov    %edx,%eax
40f3ba:	f7 e9                	imul   %ecx
40f3bc:	e8 6f 34 ff ff       	call   0x402830
40f3c1:	c3                   	ret
40f3c2:	8b c0                	mov    %eax,%eax
40f3c4:	8b c2                	mov    %edx,%eax
40f3c6:	e8 95 34 ff ff       	call   0x402860
40f3cb:	c3                   	ret
40f3cc:	55                   	push   %ebp
40f3cd:	8b ec                	mov    %esp,%ebp
40f3cf:	6a 0f                	push   $0xf
40f3d1:	6a 08                	push   $0x8
40f3d3:	6a 00                	push   $0x0
40f3d5:	51                   	push   %ecx
40f3d6:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f3d9:	51                   	push   %ecx
40f3da:	b9 08 00 00 00       	mov    $0x8,%ecx
40f3df:	e8 04 00 00 00       	call   0x40f3e8
40f3e4:	5d                   	pop    %ebp
40f3e5:	c2 04 00             	ret    $0x4
40f3e8:	55                   	push   %ebp
40f3e9:	8b ec                	mov    %esp,%ebp
40f3eb:	83 c4 f4             	add    $0xfffffff4,%esp
40f3ee:	53                   	push   %ebx
40f3ef:	56                   	push   %esi
40f3f0:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40f3f3:	89 55 fc             	mov    %edx,-0x4(%ebp)
40f3f6:	8b f0                	mov    %eax,%esi
40f3f8:	8b 45 0c             	mov    0xc(%ebp),%eax
40f3fb:	33 d2                	xor    %edx,%edx
40f3fd:	85 c0                	test   %eax,%eax
40f3ff:	89 55 f4             	mov    %edx,-0xc(%ebp)
40f402:	74 12                	je     0x40f416
40f404:	8a 00                	mov    (%eax),%al
40f406:	8b 0d 68 65 42 00    	mov    0x426568,%ecx
40f40c:	3a 01                	cmp    (%ecx),%al
40f40e:	75 06                	jne    0x40f416
40f410:	83 7d 08 38          	cmpl   $0x38,0x8(%ebp)
40f414:	74 0a                	je     0x40f420
40f416:	b8 fa ff ff ff       	mov    $0xfffffffa,%eax
40f41b:	e9 cc 01 00 00       	jmp    0x40f5ec
40f420:	85 f6                	test   %esi,%esi
40f422:	75 0a                	jne    0x40f42e
40f424:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
40f429:	e9 be 01 00 00       	jmp    0x40f5ec
40f42e:	33 d2                	xor    %edx,%edx
40f430:	89 56 18             	mov    %edx,0x18(%esi)
40f433:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
40f437:	75 0c                	jne    0x40f445
40f439:	c7 46 20 b8 f3 40 00 	movl   $0x40f3b8,0x20(%esi)
40f440:	33 c9                	xor    %ecx,%ecx
40f442:	89 4e 28             	mov    %ecx,0x28(%esi)
40f445:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
40f449:	75 07                	jne    0x40f452
40f44b:	c7 46 24 c4 f3 40 00 	movl   $0x40f3c4,0x24(%esi)
40f452:	83 7d fc ff          	cmpl   $0xffffffff,-0x4(%ebp)
40f456:	75 07                	jne    0x40f45f
40f458:	c7 45 fc 06 00 00 00 	movl   $0x6,-0x4(%ebp)
40f45f:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
40f463:	7d 0a                	jge    0x40f46f
40f465:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
40f46c:	f7 5d 18             	negl   0x18(%ebp)
40f46f:	83 7d 14 01          	cmpl   $0x1,0x14(%ebp)
40f473:	7c 30                	jl     0x40f4a5
40f475:	83 7d 14 09          	cmpl   $0x9,0x14(%ebp)
40f479:	7f 2a                	jg     0x40f4a5
40f47b:	83 7d f8 08          	cmpl   $0x8,-0x8(%ebp)
40f47f:	75 24                	jne    0x40f4a5
40f481:	83 7d 18 09          	cmpl   $0x9,0x18(%ebp)
40f485:	7c 1e                	jl     0x40f4a5
40f487:	83 7d 18 0f          	cmpl   $0xf,0x18(%ebp)
40f48b:	7f 18                	jg     0x40f4a5
40f48d:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40f491:	7c 12                	jl     0x40f4a5
40f493:	83 7d fc 09          	cmpl   $0x9,-0x4(%ebp)
40f497:	7f 0c                	jg     0x40f4a5
40f499:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40f49d:	7c 06                	jl     0x40f4a5
40f49f:	83 7d 10 02          	cmpl   $0x2,0x10(%ebp)
40f4a3:	7e 0a                	jle    0x40f4af
40f4a5:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
40f4aa:	e9 3d 01 00 00       	jmp    0x40f5ec
40f4af:	b9 b8 16 00 00       	mov    $0x16b8,%ecx
40f4b4:	ba 01 00 00 00       	mov    $0x1,%edx
40f4b9:	8b 46 28             	mov    0x28(%esi),%eax
40f4bc:	ff 56 20             	call   *0x20(%esi)
40f4bf:	8b d8                	mov    %eax,%ebx
40f4c1:	85 db                	test   %ebx,%ebx
40f4c3:	75 0a                	jne    0x40f4cf
40f4c5:	b8 fc ff ff ff       	mov    $0xfffffffc,%eax
40f4ca:	e9 1d 01 00 00       	jmp    0x40f5ec
40f4cf:	89 5e 1c             	mov    %ebx,0x1c(%esi)
40f4d2:	89 33                	mov    %esi,(%ebx)
40f4d4:	8b 55 f4             	mov    -0xc(%ebp),%edx
40f4d7:	89 53 18             	mov    %edx,0x18(%ebx)
40f4da:	ba 01 00 00 00       	mov    $0x1,%edx
40f4df:	8b 45 18             	mov    0x18(%ebp),%eax
40f4e2:	8b c8                	mov    %eax,%ecx
40f4e4:	89 43 28             	mov    %eax,0x28(%ebx)
40f4e7:	d3 e2                	shl    %cl,%edx
40f4e9:	89 53 24             	mov    %edx,0x24(%ebx)
40f4ec:	4a                   	dec    %edx
40f4ed:	89 53 2c             	mov    %edx,0x2c(%ebx)
40f4f0:	ba 01 00 00 00       	mov    $0x1,%edx
40f4f5:	8b 45 14             	mov    0x14(%ebp),%eax
40f4f8:	83 c0 07             	add    $0x7,%eax
40f4fb:	8b c8                	mov    %eax,%ecx
40f4fd:	89 43 48             	mov    %eax,0x48(%ebx)
40f500:	d3 e2                	shl    %cl,%edx
40f502:	89 53 44             	mov    %edx,0x44(%ebx)
40f505:	4a                   	dec    %edx
40f506:	89 53 4c             	mov    %edx,0x4c(%ebx)
40f509:	33 d2                	xor    %edx,%edx
40f50b:	8b 43 48             	mov    0x48(%ebx),%eax
40f50e:	b9 03 00 00 00       	mov    $0x3,%ecx
40f513:	83 c0 03             	add    $0x3,%eax
40f516:	48                   	dec    %eax
40f517:	f7 f1                	div    %ecx
40f519:	89 43 50             	mov    %eax,0x50(%ebx)
40f51c:	b9 02 00 00 00       	mov    $0x2,%ecx
40f521:	8b 46 28             	mov    0x28(%esi),%eax
40f524:	8b 53 24             	mov    0x24(%ebx),%edx
40f527:	ff 56 20             	call   *0x20(%esi)
40f52a:	89 43 30             	mov    %eax,0x30(%ebx)
40f52d:	b9 02 00 00 00       	mov    $0x2,%ecx
40f532:	8b 53 24             	mov    0x24(%ebx),%edx
40f535:	8b 46 28             	mov    0x28(%esi),%eax
40f538:	ff 56 20             	call   *0x20(%esi)
40f53b:	89 43 38             	mov    %eax,0x38(%ebx)
40f53e:	b9 02 00 00 00       	mov    $0x2,%ecx
40f543:	8b 53 44             	mov    0x44(%ebx),%edx
40f546:	8b 46 28             	mov    0x28(%esi),%eax
40f549:	ff 56 20             	call   *0x20(%esi)
40f54c:	89 43 3c             	mov    %eax,0x3c(%ebx)
40f54f:	8b 4d 14             	mov    0x14(%ebp),%ecx
40f552:	83 c1 06             	add    $0x6,%ecx
40f555:	b8 01 00 00 00       	mov    $0x1,%eax
40f55a:	d3 e0                	shl    %cl,%eax
40f55c:	89 83 94 16 00 00    	mov    %eax,0x1694(%ebx)
40f562:	b9 04 00 00 00       	mov    $0x4,%ecx
40f567:	8b d0                	mov    %eax,%edx
40f569:	8b 46 28             	mov    0x28(%esi),%eax
40f56c:	ff 56 20             	call   *0x20(%esi)
40f56f:	89 43 08             	mov    %eax,0x8(%ebx)
40f572:	8b 93 94 16 00 00    	mov    0x1694(%ebx),%edx
40f578:	c1 e2 02             	shl    $0x2,%edx
40f57b:	89 53 0c             	mov    %edx,0xc(%ebx)
40f57e:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
40f582:	74 12                	je     0x40f596
40f584:	83 7b 38 00          	cmpl   $0x0,0x38(%ebx)
40f588:	74 0c                	je     0x40f596
40f58a:	83 7b 3c 00          	cmpl   $0x0,0x3c(%ebx)
40f58e:	74 06                	je     0x40f596
40f590:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
40f594:	75 16                	jne    0x40f5ac
40f596:	a1 a8 64 42 00       	mov    0x4264a8,%eax
40f59b:	89 46 18             	mov    %eax,0x18(%esi)
40f59e:	8b c6                	mov    %esi,%eax
40f5a0:	e8 83 05 00 00       	call   0x40fb28
40f5a5:	b8 fc ff ff ff       	mov    $0xfffffffc,%eax
40f5aa:	eb 40                	jmp    0x40f5ec
40f5ac:	8b 93 94 16 00 00    	mov    0x1694(%ebx),%edx
40f5b2:	d1 ea                	shr    $1,%edx
40f5b4:	03 d2                	add    %edx,%edx
40f5b6:	03 c2                	add    %edx,%eax
40f5b8:	89 83 9c 16 00 00    	mov    %eax,0x169c(%ebx)
40f5be:	8b 8b 94 16 00 00    	mov    0x1694(%ebx),%ecx
40f5c4:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
40f5c7:	03 4b 08             	add    0x8(%ebx),%ecx
40f5ca:	89 8b 90 16 00 00    	mov    %ecx,0x1690(%ebx)
40f5d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
40f5d3:	89 43 7c             	mov    %eax,0x7c(%ebx)
40f5d6:	8b c6                	mov    %esi,%eax
40f5d8:	8b 55 10             	mov    0x10(%ebp),%edx
40f5db:	89 93 80 00 00 00    	mov    %edx,0x80(%ebx)
40f5e1:	8a 4d f8             	mov    -0x8(%ebp),%cl
40f5e4:	88 4b 1d             	mov    %cl,0x1d(%ebx)
40f5e7:	e8 fc 00 00 00       	call   0x40f6e8
40f5ec:	5e                   	pop    %esi
40f5ed:	5b                   	pop    %ebx
40f5ee:	8b e5                	mov    %ebp,%esp
40f5f0:	5d                   	pop    %ebp
40f5f1:	c2 14 00             	ret    $0x14
40f5f4:	53                   	push   %ebx
40f5f5:	56                   	push   %esi
40f5f6:	57                   	push   %edi
40f5f7:	55                   	push   %ebp
40f5f8:	83 c4 f8             	add    $0xfffffff8,%esp
40f5fb:	8b e8                	mov    %eax,%ebp
40f5fd:	33 ff                	xor    %edi,%edi
40f5ff:	85 ed                	test   %ebp,%ebp
40f601:	89 4c 24 04          	mov    %ecx,0x4(%esp)
40f605:	89 14 24             	mov    %edx,(%esp)
40f608:	8b 74 24 04          	mov    0x4(%esp),%esi
40f60c:	74 15                	je     0x40f623
40f60e:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
40f612:	74 0f                	je     0x40f623
40f614:	83 3c 24 00          	cmpl   $0x0,(%esp)
40f618:	74 09                	je     0x40f623
40f61a:	8b 45 1c             	mov    0x1c(%ebp),%eax
40f61d:	83 78 04 2a          	cmpl   $0x2a,0x4(%eax)
40f621:	74 0a                	je     0x40f62d
40f623:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
40f628:	e9 b4 00 00 00       	jmp    0x40f6e1
40f62d:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
40f630:	8b 45 30             	mov    0x30(%ebp),%eax
40f633:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40f637:	8b 14 24             	mov    (%esp),%edx
40f63a:	e8 a9 3e 00 00       	call   0x4134e8
40f63f:	89 45 30             	mov    %eax,0x30(%ebp)
40f642:	83 fe 03             	cmp    $0x3,%esi
40f645:	73 07                	jae    0x40f64e
40f647:	33 c0                	xor    %eax,%eax
40f649:	e9 93 00 00 00       	jmp    0x40f6e1
40f64e:	8b 43 24             	mov    0x24(%ebx),%eax
40f651:	2d 06 01 00 00       	sub    $0x106,%eax
40f656:	3b f0                	cmp    %eax,%esi
40f658:	76 0b                	jbe    0x40f665
40f65a:	8b f0                	mov    %eax,%esi
40f65c:	8b 44 24 04          	mov    0x4(%esp),%eax
40f660:	2b c6                	sub    %esi,%eax
40f662:	01 04 24             	add    %eax,(%esp)
40f665:	56                   	push   %esi
40f666:	8b 54 24 04          	mov    0x4(%esp),%edx
40f66a:	52                   	push   %edx
40f66b:	8b 4b 30             	mov    0x30(%ebx),%ecx
40f66e:	51                   	push   %ecx
40f66f:	e8 30 fd ff ff       	call   0x40f3a4
40f674:	89 73 64             	mov    %esi,0x64(%ebx)
40f677:	89 73 54             	mov    %esi,0x54(%ebx)
40f67a:	8b 43 30             	mov    0x30(%ebx),%eax
40f67d:	83 c4 0c             	add    $0xc,%esp
40f680:	0f b6 00             	movzbl (%eax),%eax
40f683:	89 43 40             	mov    %eax,0x40(%ebx)
40f686:	8b 53 30             	mov    0x30(%ebx),%edx
40f689:	8b 4b 50             	mov    0x50(%ebx),%ecx
40f68c:	d3 e0                	shl    %cl,%eax
40f68e:	0f b6 52 01          	movzbl 0x1(%edx),%edx
40f692:	33 c2                	xor    %edx,%eax
40f694:	23 43 4c             	and    0x4c(%ebx),%eax
40f697:	89 43 40             	mov    %eax,0x40(%ebx)
40f69a:	33 c0                	xor    %eax,%eax
40f69c:	eb 36                	jmp    0x40f6d4
40f69e:	8b 4b 50             	mov    0x50(%ebx),%ecx
40f6a1:	8b 53 40             	mov    0x40(%ebx),%edx
40f6a4:	d3 e2                	shl    %cl,%edx
40f6a6:	8b 4b 30             	mov    0x30(%ebx),%ecx
40f6a9:	0f b6 4c 01 02       	movzbl 0x2(%ecx,%eax,1),%ecx
40f6ae:	33 d1                	xor    %ecx,%edx
40f6b0:	23 53 4c             	and    0x4c(%ebx),%edx
40f6b3:	89 53 40             	mov    %edx,0x40(%ebx)