402300:	3b d7                	cmp    %edi,%edx
402302:	7e 40                	jle    0x402344
402304:	be 6b 00 00 00       	mov    $0x6b,%esi
402309:	2b f5                	sub    %ebp,%esi
40230b:	3b d6                	cmp    %esi,%edx
40230d:	7d 35                	jge    0x402344
40230f:	0f bf 05 52 12 41 00 	movswl 0x411252,%eax
402316:	0f bf 0d 50 12 41 00 	movswl 0x411250,%ecx
40231d:	3d b2 00 00 00       	cmp    $0xb2,%eax
402322:	7c 20                	jl     0x402344
402324:	3d 11 01 00 00       	cmp    $0x111,%eax
402329:	7f 19                	jg     0x402344
40232b:	3b cf                	cmp    %edi,%ecx
40232d:	7e 15                	jle    0x402344
40232f:	3b ce                	cmp    %esi,%ecx
402331:	7d 11                	jge    0x402344
402333:	8b 4c 24 64          	mov    0x64(%esp),%ecx
402337:	6a 00                	push   $0x0
402339:	6a 00                	push   $0x0
40233b:	6a 10                	push   $0x10
40233d:	51                   	push   %ecx
40233e:	ff 15 80 d1 40 00    	call   *0x40d180
402344:	a1 5c 13 41 00       	mov    0x41135c,%eax
402349:	33 f6                	xor    %esi,%esi
40234b:	3b c6                	cmp    %esi,%eax
40234d:	74 14                	je     0x402363
40234f:	8b 54 24 64          	mov    0x64(%esp),%edx
402353:	56                   	push   %esi
402354:	52                   	push   %edx
402355:	89 35 5c 13 41 00    	mov    %esi,0x41135c
40235b:	e8 70 f1 ff ff       	call   0x4014d0
402360:	83 c4 08             	add    $0x8,%esp
402363:	39 35 60 13 41 00    	cmp    %esi,0x411360
402369:	74 14                	je     0x40237f
40236b:	8b 44 24 64          	mov    0x64(%esp),%eax
40236f:	56                   	push   %esi
402370:	50                   	push   %eax
402371:	89 35 60 13 41 00    	mov    %esi,0x411360
402377:	e8 14 f1 ff ff       	call   0x401490
40237c:	83 c4 08             	add    $0x8,%esp
40237f:	5f                   	pop    %edi
402380:	5e                   	pop    %esi
402381:	5d                   	pop    %ebp
402382:	33 c0                	xor    %eax,%eax
402384:	5b                   	pop    %ebx
402385:	83 c4 50             	add    $0x50,%esp
402388:	c2 10 00             	ret    $0x10
40238b:	90                   	nop
40238c:	fd                   	std
40238d:	18 40 00             	sbb    %al,0x0(%eax)
402390:	d5 1a                	aad    $0x1a
402392:	40                   	inc    %eax
402393:	00 eb                	add    %ch,%bl
402395:	19 40 00             	sbb    %eax,0x0(%eax)
402398:	2e 22 40 00          	and    %cs:0x0(%eax),%al
40239c:	2e 22 40 00          	and    %cs:0x0(%eax),%al
4023a0:	2e 22 40 00          	and    %cs:0x0(%eax),%al
4023a4:	ad                   	lods   %ds:(%esi),%eax
4023a5:	19 40 00             	sbb    %eax,0x0(%eax)
4023a8:	6f                   	outsl  %ds:(%esi),(%dx)
4023a9:	19 40 00             	sbb    %eax,0x0(%eax)
4023ac:	90                   	nop
4023ad:	90                   	nop
4023ae:	90                   	nop
4023af:	90                   	nop
4023b0:	8b 44 24 08          	mov    0x8(%esp),%eax
4023b4:	83 ec 10             	sub    $0x10,%esp
4023b7:	3d 13 01 00 00       	cmp    $0x113,%eax
4023bc:	56                   	push   %esi
4023bd:	0f 87 cc 00 00 00    	ja     0x40248f
4023c3:	74 67                	je     0x40242c
4023c5:	83 e8 10             	sub    $0x10,%eax
4023c8:	74 49                	je     0x402413
4023ca:	2d 00 01 00 00       	sub    $0x100,%eax
4023cf:	74 2c                	je     0x4023fd
4023d1:	48                   	dec    %eax
4023d2:	0f 85 63 01 00 00    	jne    0x40253b
4023d8:	66 83 7c 24 20 02    	cmpw   $0x2,0x20(%esp)
4023de:	0f 85 57 01 00 00    	jne    0x40253b
4023e4:	8b 44 24 18          	mov    0x18(%esp),%eax
4023e8:	6a 02                	push   $0x2
4023ea:	50                   	push   %eax
4023eb:	ff 15 58 d1 40 00    	call   *0x40d158
4023f1:	b8 01 00 00 00       	mov    $0x1,%eax
4023f6:	5e                   	pop    %esi
4023f7:	83 c4 10             	add    $0x10,%esp
4023fa:	c2 10 00             	ret    $0x10
4023fd:	8b 4c 24 18          	mov    0x18(%esp),%ecx
402401:	b8 01 00 00 00       	mov    $0x1,%eax
402406:	89 0d 48 12 41 00    	mov    %ecx,0x411248
40240c:	5e                   	pop    %esi
40240d:	83 c4 10             	add    $0x10,%esp
402410:	c2 10 00             	ret    $0x10
402413:	8b 54 24 18          	mov    0x18(%esp),%edx
402417:	6a 00                	push   $0x0
402419:	52                   	push   %edx
40241a:	ff 15 58 d1 40 00    	call   *0x40d158
402420:	b8 01 00 00 00       	mov    $0x1,%eax
402425:	5e                   	pop    %esi
402426:	83 c4 10             	add    $0x10,%esp
402429:	c2 10 00             	ret    $0x10
40242c:	8b 0d 68 13 41 00    	mov    0x411368,%ecx
402432:	33 d2                	xor    %edx,%edx
402434:	8b c1                	mov    %ecx,%eax
402436:	be 3c 00 00 00       	mov    $0x3c,%esi
40243b:	f7 f6                	div    %esi
40243d:	8b c1                	mov    %ecx,%eax
40243f:	be 10 0e 00 00       	mov    $0xe10,%esi
402444:	52                   	push   %edx
402445:	33 d2                	xor    %edx,%edx
402447:	f7 f6                	div    %esi
402449:	b8 89 88 88 88       	mov    $0x88888889,%eax
40244e:	f7 e2                	mul    %edx
402450:	c1 ea 05             	shr    $0x5,%edx
402453:	b8 c5 b3 a2 91       	mov    $0x91a2b3c5,%eax
402458:	52                   	push   %edx
402459:	f7 e1                	mul    %ecx
40245b:	c1 ea 0b             	shr    $0xb,%edx
40245e:	52                   	push   %edx
40245f:	68 1c 01 41 00       	push   $0x41011c
402464:	68 30 12 41 00       	push   $0x411230
402469:	e8 b4 31 00 00       	call   0x405622
40246e:	8b 44 24 2c          	mov    0x2c(%esp),%eax
402472:	83 c4 14             	add    $0x14,%esp
402475:	68 30 12 41 00       	push   $0x411230
40247a:	68 e8 03 00 00       	push   $0x3e8
40247f:	50                   	push   %eax
402480:	ff 15 5c d1 40 00    	call   *0x40d15c
402486:	33 c0                	xor    %eax,%eax
402488:	5e                   	pop    %esi
402489:	83 c4 10             	add    $0x10,%esp
40248c:	c2 10 00             	ret    $0x10
40248f:	2d 00 02 00 00       	sub    $0x200,%eax
402494:	74 47                	je     0x4024dd
402496:	48                   	dec    %eax
402497:	74 16                	je     0x4024af
402499:	48                   	dec    %eax
40249a:	0f 85 9b 00 00 00    	jne    0x40253b
4024a0:	ff 15 8c d1 40 00    	call   *0x40d18c
4024a6:	33 c0                	xor    %eax,%eax
4024a8:	5e                   	pop    %esi
4024a9:	83 c4 10             	add    $0x10,%esp
4024ac:	c2 10 00             	ret    $0x10
4024af:	8b 44 24 24          	mov    0x24(%esp),%eax
4024b3:	8b 54 24 18          	mov    0x18(%esp),%edx
4024b7:	8b c8                	mov    %eax,%ecx
4024b9:	52                   	push   %edx
4024ba:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
4024c0:	c1 e8 10             	shr    $0x10,%eax
4024c3:	89 0d 70 13 41 00    	mov    %ecx,0x411370
4024c9:	a3 74 13 41 00       	mov    %eax,0x411374
4024ce:	ff 15 88 d1 40 00    	call   *0x40d188
4024d4:	33 c0                	xor    %eax,%eax
4024d6:	5e                   	pop    %esi
4024d7:	83 c4 10             	add    $0x10,%esp
4024da:	c2 10 00             	ret    $0x10
4024dd:	f6 44 24 20 01       	testb  $0x1,0x20(%esp)
4024e2:	74 57                	je     0x40253b
4024e4:	8b 74 24 18          	mov    0x18(%esp),%esi
4024e8:	53                   	push   %ebx
4024e9:	8d 44 24 08          	lea    0x8(%esp),%eax
4024ed:	57                   	push   %edi
4024ee:	50                   	push   %eax
4024ef:	56                   	push   %esi
4024f0:	ff 15 74 d1 40 00    	call   *0x40d174
4024f6:	6a 01                	push   $0x1
4024f8:	8b 1d 74 13 41 00    	mov    0x411374,%ebx
4024fe:	8b 54 24 1c          	mov    0x1c(%esp),%edx
402502:	8b 4c 24 14          	mov    0x14(%esp),%ecx
402506:	8b 44 24 18          	mov    0x18(%esp),%eax
40250a:	2b d1                	sub    %ecx,%edx
40250c:	52                   	push   %edx
40250d:	8b 54 24 14          	mov    0x14(%esp),%edx
402511:	2b c2                	sub    %edx,%eax
402513:	50                   	push   %eax
402514:	8b 44 24 38          	mov    0x38(%esp),%eax
402518:	8b f8                	mov    %eax,%edi
40251a:	25 ff ff 00 00       	and    $0xffff,%eax
40251f:	c1 ef 10             	shr    $0x10,%edi
402522:	2b fb                	sub    %ebx,%edi
402524:	03 f9                	add    %ecx,%edi
402526:	8b 0d 70 13 41 00    	mov    0x411370,%ecx
40252c:	2b c1                	sub    %ecx,%eax
40252e:	57                   	push   %edi
40252f:	03 c2                	add    %edx,%eax
402531:	50                   	push   %eax
402532:	56                   	push   %esi
402533:	ff 15 78 d1 40 00    	call   *0x40d178
402539:	5f                   	pop    %edi
40253a:	5b                   	pop    %ebx
40253b:	33 c0                	xor    %eax,%eax
40253d:	5e                   	pop    %esi
40253e:	83 c4 10             	add    $0x10,%esp
402541:	c2 10 00             	ret    $0x10
402544:	90                   	nop
402545:	90                   	nop
402546:	90                   	nop
402547:	90                   	nop
402548:	90                   	nop
402549:	90                   	nop
40254a:	90                   	nop
40254b:	90                   	nop
40254c:	90                   	nop
40254d:	90                   	nop
40254e:	90                   	nop
40254f:	90                   	nop
402550:	83 ec 14             	sub    $0x14,%esp
402553:	8d 44 24 00          	lea    0x0(%esp),%eax
402557:	50                   	push   %eax
402558:	6a 28                	push   $0x28
40255a:	ff 15 b0 d0 40 00    	call   *0x40d0b0
402560:	50                   	push   %eax
402561:	ff 15 08 d0 40 00    	call   *0x40d008
402567:	85 c0                	test   %eax,%eax
402569:	75 04                	jne    0x40256f
40256b:	83 c4 14             	add    $0x14,%esp
40256e:	c3                   	ret
40256f:	8d 4c 24 08          	lea    0x8(%esp),%ecx
402573:	51                   	push   %ecx
402574:	68 2c 01 41 00       	push   $0x41012c
402579:	6a 00                	push   $0x0
40257b:	ff 15 00 d0 40 00    	call   *0x40d000
402581:	8b 44 24 00          	mov    0x0(%esp),%eax
402585:	6a 00                	push   $0x0
402587:	6a 00                	push   $0x0
402589:	8d 54 24 0c          	lea    0xc(%esp),%edx
40258d:	6a 00                	push   $0x0
40258f:	52                   	push   %edx
402590:	6a 00                	push   $0x0
402592:	50                   	push   %eax
402593:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
40259a:	00
40259b:	c7 44 24 28 02 00 00 	movl   $0x2,0x28(%esp)
4025a2:	00
4025a3:	ff 15 04 d0 40 00    	call   *0x40d004
4025a9:	ff 15 9c d0 40 00    	call   *0x40d09c
4025af:	85 c0                	test   %eax,%eax
4025b1:	74 06                	je     0x4025b9
4025b3:	33 c0                	xor    %eax,%eax
4025b5:	83 c4 14             	add    $0x14,%esp
4025b8:	c3                   	ret
4025b9:	a1 58 13 41 00       	mov    0x411358,%eax
4025be:	6a 00                	push   $0x0
4025c0:	83 f8 01             	cmp    $0x1,%eax
4025c3:	75 11                	jne    0x4025d6
4025c5:	6a 01                	push   $0x1
4025c7:	ff 15 54 d1 40 00    	call   *0x40d154
4025cd:	b8 01 00 00 00       	mov    $0x1,%eax
4025d2:	83 c4 14             	add    $0x14,%esp
4025d5:	c3                   	ret
4025d6:	6a 02                	push   $0x2
4025d8:	ff 15 54 d1 40 00    	call   *0x40d154
4025de:	b8 01 00 00 00       	mov    $0x1,%eax
4025e3:	83 c4 14             	add    $0x14,%esp
4025e6:	c3                   	ret
4025e7:	90                   	nop
4025e8:	90                   	nop
4025e9:	90                   	nop
4025ea:	90                   	nop
4025eb:	90                   	nop
4025ec:	90                   	nop
4025ed:	90                   	nop
4025ee:	90                   	nop
4025ef:	90                   	nop
4025f0:	a1 58 13 41 00       	mov    0x411358,%eax
4025f5:	83 e8 00             	sub    $0x0,%eax
4025f8:	74 1c                	je     0x402616
4025fa:	48                   	dec    %eax
4025fb:	74 0e                	je     0x40260b
4025fd:	6a 01                	push   $0x1
4025ff:	68 40 01 41 00       	push   $0x410140
402604:	ff 15 98 d0 40 00    	call   *0x40d098
40260a:	c3                   	ret
40260b:	6a 00                	push   $0x0
40260d:	6a 02                	push   $0x2
40260f:	ff 15 54 d1 40 00    	call   *0x40d154
402615:	c3                   	ret
402616:	6a 00                	push   $0x0
402618:	6a 01                	push   $0x1
40261a:	ff 15 54 d1 40 00    	call   *0x40d154
402620:	c3                   	ret
402621:	90                   	nop
402622:	90                   	nop
402623:	90                   	nop
402624:	90                   	nop
402625:	90                   	nop
402626:	90                   	nop
402627:	90                   	nop
402628:	90                   	nop
402629:	90                   	nop
40262a:	90                   	nop
40262b:	90                   	nop
40262c:	90                   	nop
40262d:	90                   	nop
40262e:	90                   	nop
40262f:	90                   	nop
402630:	a1 68 13 41 00       	mov    0x411368,%eax
402635:	85 c0                	test   %eax,%eax
402637:	77 4f                	ja     0x402688
402639:	a1 4c 12 41 00       	mov    0x41124c,%eax
40263e:	68 fe ca 00 00       	push   $0xcafe
402643:	50                   	push   %eax
402644:	ff 15 50 d1 40 00    	call   *0x40d150
40264a:	e8 21 02 00 00       	call   0x402870
40264f:	85 c0                	test   %eax,%eax
402651:	74 07                	je     0x40265a
402653:	e8 f8 fe ff ff       	call   0x402550
402658:	eb 05                	jmp    0x40265f
40265a:	e8 91 ff ff ff       	call   0x4025f0
40265f:	8b 0d 48 12 41 00    	mov    0x411248,%ecx
402665:	56                   	push   %esi
402666:	8b 35 80 d1 40 00    	mov    0x40d180,%esi
40266c:	6a 00                	push   $0x0
40266e:	6a 00                	push   $0x0
402670:	6a 10                	push   $0x10
402672:	51                   	push   %ecx
402673:	ff d6                	call   *%esi
402675:	8b 15 4c 12 41 00    	mov    0x41124c,%edx
40267b:	6a 00                	push   $0x0
40267d:	6a 00                	push   $0x0
40267f:	6a 10                	push   $0x10
402681:	52                   	push   %edx
402682:	ff d6                	call   *%esi
402684:	5e                   	pop    %esi
402685:	c2 10 00             	ret    $0x10
402688:	8b 0d 68 13 41 00    	mov    0x411368,%ecx
40268e:	a1 48 12 41 00       	mov    0x411248,%eax
402693:	6a 00                	push   $0x0
402695:	6a 00                	push   $0x0
402697:	49                   	dec    %ecx
402698:	68 13 01 00 00       	push   $0x113
40269d:	50                   	push   %eax
40269e:	89 0d 68 13 41 00    	mov    %ecx,0x411368
4026a4:	ff 15 80 d1 40 00    	call   *0x40d180
4026aa:	c2 10 00             	ret    $0x10
4026ad:	90                   	nop
4026ae:	90                   	nop
4026af:	90                   	nop
4026b0:	a1 64 13 41 00       	mov    0x411364,%eax
4026b5:	81 ec c0 00 00 00    	sub    $0xc0,%esp
4026bb:	85 c0                	test   %eax,%eax
4026bd:	75 45                	jne    0x402704
4026bf:	e8 ac 01 00 00       	call   0x402870
4026c4:	85 c0                	test   %eax,%eax
4026c6:	74 1e                	je     0x4026e6
4026c8:	e8 83 fe ff ff       	call   0x402550
4026cd:	a1 4c 12 41 00       	mov    0x41124c,%eax
4026d2:	6a 00                	push   $0x0
4026d4:	6a 00                	push   $0x0
4026d6:	6a 10                	push   $0x10