408223:	68 68 22 40 00       	push   $0x402268
408228:	ff 76 04             	push   0x4(%esi)
40822b:	ff 15 e8 f1 40 00    	call   *0x40f1e8
408231:	59                   	pop    %ecx
408232:	59                   	pop    %ecx
408233:	85 c0                	test   %eax,%eax
408235:	75 12                	jne    0x408249
408237:	8b 8d f4 fd ff ff    	mov    -0x20c(%ebp),%ecx
40823d:	8b d6                	mov    %esi,%edx
40823f:	e8 a4 c3 ff ff       	call   0x4045e8
408244:	e9 47 fb ff ff       	jmp    0x407d90
408249:	68 80 22 40 00       	push   $0x402280
40824e:	ff 76 04             	push   0x4(%esi)
408251:	ff 15 e8 f1 40 00    	call   *0x40f1e8
408257:	59                   	pop    %ecx
408258:	59                   	pop    %ecx
408259:	85 c0                	test   %eax,%eax
40825b:	75 0b                	jne    0x408268
40825d:	ff 15 1c f0 40 00    	call   *0x40f01c
408263:	e9 28 fb ff ff       	jmp    0x407d90
408268:	68 ac 22 40 00       	push   $0x4022ac
40826d:	ff 76 04             	push   0x4(%esi)
408270:	ff 15 e8 f1 40 00    	call   *0x40f1e8
408276:	59                   	pop    %ecx
408277:	59                   	pop    %ecx
408278:	85 c0                	test   %eax,%eax
40827a:	74 e1                	je     0x40825d
40827c:	68 d8 22 40 00       	push   $0x4022d8
408281:	ff 76 04             	push   0x4(%esi)
408284:	ff 15 e8 f1 40 00    	call   *0x40f1e8
40828a:	59                   	pop    %ecx
40828b:	59                   	pop    %ecx
40828c:	85 c0                	test   %eax,%eax
40828e:	75 1e                	jne    0x4082ae
408290:	83 bd f4 fd ff ff 03 	cmpl   $0x3,-0x20c(%ebp)
408297:	74 07                	je     0x4082a0
408299:	6a 26                	push   $0x26
40829b:	e9 16 fb ff ff       	jmp    0x407db6
4082a0:	ff 76 08             	push   0x8(%esi)
4082a3:	ff 15 68 f0 40 00    	call   *0x40f068
4082a9:	e9 e2 fa ff ff       	jmp    0x407d90
4082ae:	68 00 23 40 00       	push   $0x402300
4082b3:	ff 76 04             	push   0x4(%esi)
4082b6:	ff 15 e8 f1 40 00    	call   *0x40f1e8
4082bc:	59                   	pop    %ecx
4082bd:	59                   	pop    %ecx
4082be:	85 c0                	test   %eax,%eax
4082c0:	75 1e                	jne    0x4082e0
4082c2:	83 bd f4 fd ff ff 03 	cmpl   $0x3,-0x20c(%ebp)
4082c9:	74 07                	je     0x4082d2
4082cb:	6a 27                	push   $0x27
4082cd:	e9 e4 fa ff ff       	jmp    0x407db6
4082d2:	ff 76 08             	push   0x8(%esi)
4082d5:	ff 15 64 f0 40 00    	call   *0x40f064
4082db:	e9 b0 fa ff ff       	jmp    0x407d90
4082e0:	68 30 23 40 00       	push   $0x402330
4082e5:	ff 76 04             	push   0x4(%esi)
4082e8:	ff 15 e8 f1 40 00    	call   *0x40f1e8
4082ee:	59                   	pop    %ecx
4082ef:	59                   	pop    %ecx
4082f0:	85 c0                	test   %eax,%eax
4082f2:	75 0b                	jne    0x4082ff
4082f4:	ff 15 18 f0 40 00    	call   *0x40f018
4082fa:	e9 91 fa ff ff       	jmp    0x407d90
4082ff:	68 60 23 40 00       	push   $0x402360
408304:	ff 76 04             	push   0x4(%esi)
408307:	ff 15 e8 f1 40 00    	call   *0x40f1e8
40830d:	59                   	pop    %ecx
40830e:	59                   	pop    %ecx
40830f:	85 c0                	test   %eax,%eax
408311:	75 0a                	jne    0x40831d
408313:	e8 9b bd ff ff       	call   0x4040b3
408318:	e9 73 fa ff ff       	jmp    0x407d90
40831d:	68 90 23 40 00       	push   $0x402390
408322:	ff 76 04             	push   0x4(%esi)
408325:	ff 15 e8 f1 40 00    	call   *0x40f1e8
40832b:	59                   	pop    %ecx
40832c:	59                   	pop    %ecx
40832d:	85 c0                	test   %eax,%eax
40832f:	75 12                	jne    0x408343
408331:	8b 8d f4 fd ff ff    	mov    -0x20c(%ebp),%ecx
408337:	8b d6                	mov    %esi,%edx
408339:	e8 51 ca ff ff       	call   0x404d8f
40833e:	e9 4d fa ff ff       	jmp    0x407d90
408343:	68 a4 23 40 00       	push   $0x4023a4
408348:	ff 76 04             	push   0x4(%esi)
40834b:	ff 15 e8 f1 40 00    	call   *0x40f1e8
408351:	59                   	pop    %ecx
408352:	59                   	pop    %ecx
408353:	85 c0                	test   %eax,%eax
408355:	75 12                	jne    0x408369
408357:	8b 8d f4 fd ff ff    	mov    -0x20c(%ebp),%ecx
40835d:	8b d6                	mov    %esi,%edx
40835f:	e8 25 f5 ff ff       	call   0x407889
408364:	e9 27 fa ff ff       	jmp    0x407d90
408369:	68 c0 23 40 00       	push   $0x4023c0
40836e:	ff 76 04             	push   0x4(%esi)
408371:	ff 15 e8 f1 40 00    	call   *0x40f1e8
408377:	59                   	pop    %ecx
408378:	59                   	pop    %ecx
408379:	85 c0                	test   %eax,%eax
40837b:	75 12                	jne    0x40838f
40837d:	8b 8d f4 fd ff ff    	mov    -0x20c(%ebp),%ecx
408383:	8b d6                	mov    %esi,%edx
408385:	e8 40 f6 ff ff       	call   0x4079ca
40838a:	e9 01 fa ff ff       	jmp    0x407d90
40838f:	68 d8 23 40 00       	push   $0x4023d8
408394:	ff 76 04             	push   0x4(%esi)
408397:	ff 15 e8 f1 40 00    	call   *0x40f1e8
40839d:	59                   	pop    %ecx
40839e:	59                   	pop    %ecx
40839f:	85 c0                	test   %eax,%eax
4083a1:	75 12                	jne    0x4083b5
4083a3:	8b 8d f4 fd ff ff    	mov    -0x20c(%ebp),%ecx
4083a9:	8b d6                	mov    %esi,%edx
4083ab:	e8 d6 f6 ff ff       	call   0x407a86
4083b0:	e9 db f9 ff ff       	jmp    0x407d90
4083b5:	68 fc 23 40 00       	push   $0x4023fc
4083ba:	ff 76 04             	push   0x4(%esi)
4083bd:	ff 15 e8 f1 40 00    	call   *0x40f1e8
4083c3:	59                   	pop    %ecx
4083c4:	59                   	pop    %ecx
4083c5:	85 c0                	test   %eax,%eax
4083c7:	75 12                	jne    0x4083db
4083c9:	8b 8d f4 fd ff ff    	mov    -0x20c(%ebp),%ecx
4083cf:	8b d6                	mov    %esi,%edx
4083d1:	e8 bb f7 ff ff       	call   0x407b91
4083d6:	e9 b5 f9 ff ff       	jmp    0x407d90
4083db:	68 1c 24 40 00       	push   $0x40241c
4083e0:	ff 76 04             	push   0x4(%esi)
4083e3:	ff 15 e8 f1 40 00    	call   *0x40f1e8
4083e9:	59                   	pop    %ecx
4083ea:	59                   	pop    %ecx
4083eb:	85 c0                	test   %eax,%eax
4083ed:	75 12                	jne    0x408401
4083ef:	8b 8d f4 fd ff ff    	mov    -0x20c(%ebp),%ecx
4083f5:	8b d6                	mov    %esi,%edx
4083f7:	e8 61 bd ff ff       	call   0x40415d
4083fc:	e9 8f f9 ff ff       	jmp    0x407d90
408401:	33 c9                	xor    %ecx,%ecx
408403:	e8 57 a6 ff ff       	call   0x402a5f
408408:	33 f6                	xor    %esi,%esi
40840a:	eb 03                	jmp    0x40840f
40840c:	6a 08                	push   $0x8
40840e:	5e                   	pop    %esi
40840f:	56                   	push   %esi
408410:	ba ff 00 00 00       	mov    $0xff,%edx
408415:	8d 8d f8 fd ff ff    	lea    -0x208(%ebp),%ecx
40841b:	e8 c5 aa ff ff       	call   0x402ee5
408420:	50                   	push   %eax
408421:	68 c8 13 40 00       	push   $0x4013c8
408426:	e8 8f a4 ff ff       	call   0x4028ba
40842b:	59                   	pop    %ecx
40842c:	59                   	pop    %ecx
40842d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408430:	8b c6                	mov    %esi,%eax
408432:	5f                   	pop    %edi
408433:	33 cd                	xor    %ebp,%ecx
408435:	5e                   	pop    %esi
408436:	e8 95 06 00 00       	call   0x408ad0
40843b:	c9                   	leave
40843c:	c3                   	ret
40843d:	8b ff                	mov    %edi,%edi
40843f:	55                   	push   %ebp
408440:	8b ec                	mov    %esp,%ebp
408442:	83 e4 f8             	and    $0xfffffff8,%esp
408445:	81 ec ac 05 00 00    	sub    $0x5ac,%esp
40844b:	a1 04 a0 40 00       	mov    0x40a004,%eax
408450:	33 c4                	xor    %esp,%eax
408452:	89 84 24 a8 05 00 00 	mov    %eax,0x5a8(%esp)
408459:	53                   	push   %ebx
40845a:	56                   	push   %esi
40845b:	57                   	push   %edi
40845c:	33 ff                	xor    %edi,%edi
40845e:	57                   	push   %edi
40845f:	ff 15 30 f1 40 00    	call   *0x40f130
408465:	6a f5                	push   $0xfffffff5
408467:	ff 15 38 f1 40 00    	call   *0x40f138
40846d:	a3 88 a3 40 00       	mov    %eax,0x40a388
408472:	83 f8 ff             	cmp    $0xffffffff,%eax
408475:	75 08                	jne    0x40847f
408477:	6a 57                	push   $0x57
408479:	58                   	pop    %eax
40847a:	e9 0b 02 00 00       	jmp    0x40868a
40847f:	50                   	push   %eax
408480:	ff 15 f0 f0 40 00    	call   *0x40f0f0
408486:	57                   	push   %edi
408487:	57                   	push   %edi
408488:	6a 01                	push   $0x1
40848a:	57                   	push   %edi
40848b:	a3 a0 e3 40 00       	mov    %eax,0x40e3a0
408490:	ff 15 10 f1 40 00    	call   *0x40f110
408496:	e8 f2 0b 00 00       	call   0x40908d
40849b:	84 c0                	test   %al,%al
40849d:	74 0c                	je     0x4084ab
40849f:	57                   	push   %edi
4084a0:	68 e0 11 40 00       	push   $0x4011e0
4084a5:	ff 15 7c f1 40 00    	call   *0x40f17c
4084ab:	8d 44 24 0c          	lea    0xc(%esp),%eax
4084af:	50                   	push   %eax
4084b0:	ff 15 54 f0 40 00    	call   *0x40f054
4084b6:	85 c0                	test   %eax,%eax
4084b8:	75 19                	jne    0x4084d3
4084ba:	ff 74 24 14          	push   0x14(%esp)
4084be:	ff 74 24 14          	push   0x14(%esp)
4084c2:	ff 74 24 14          	push   0x14(%esp)
4084c6:	68 8b 04 00 00       	push   $0x48b
4084cb:	e8 bf a4 ff ff       	call   0x40298f
4084d0:	83 c4 10             	add    $0x10,%esp
4084d3:	8d 44 24 18          	lea    0x18(%esp),%eax
4084d7:	50                   	push   %eax
4084d8:	68 01 01 00 00       	push   $0x101
4084dd:	ff 15 c4 f0 40 00    	call   *0x40f0c4
4084e3:	8b f0                	mov    %eax,%esi
4084e5:	85 f6                	test   %esi,%esi
4084e7:	0f 85 51 01 00 00    	jne    0x40863e
4084ed:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
4084f1:	0f 85 30 01 00 00    	jne    0x408627
4084f7:	57                   	push   %edi
4084f8:	e8 7c 0b 00 00       	call   0x409079
4084fd:	59                   	pop    %ecx
4084fe:	50                   	push   %eax
4084ff:	ff 15 98 f1 40 00    	call   *0x40f198
408505:	59                   	pop    %ecx
408506:	85 c0                	test   %eax,%eax
408508:	0f 85 28 01 00 00    	jne    0x408636
40850e:	bb a0 a3 40 00       	mov    $0x40a3a0,%ebx
408513:	8d 84 24 e8 01 00 00 	lea    0x1e8(%esp),%eax
40851a:	50                   	push   %eax
40851b:	ff 15 78 f0 40 00    	call   *0x40f078
408521:	8b f0                	mov    %eax,%esi
408523:	85 f6                	test   %esi,%esi
408525:	0f 85 b0 00 00 00    	jne    0x4085db
40852b:	8d 84 24 e8 01 00 00 	lea    0x1e8(%esp),%eax
408532:	50                   	push   %eax
408533:	68 8c 04 00 00       	push   $0x48c
408538:	e8 52 a4 ff ff       	call   0x40298f
40853d:	57                   	push   %edi
40853e:	e8 36 0b 00 00       	call   0x409079
408543:	83 c4 0c             	add    $0xc,%esp
408546:	50                   	push   %eax
408547:	68 00 10 00 00       	push   $0x1000
40854c:	68 a0 c3 40 00       	push   $0x40c3a0
408551:	ff 15 94 f1 40 00    	call   *0x40f194
408557:	83 c4 0c             	add    $0xc,%esp
40855a:	85 c0                	test   %eax,%eax
40855c:	74 64                	je     0x4085c2
40855e:	be 00 10 00 00       	mov    $0x1000,%esi
408563:	8b cb                	mov    %ebx,%ecx
408565:	68 28 24 40 00       	push   $0x402428
40856a:	8b d6                	mov    %esi,%edx
40856c:	e8 ef a1 ff ff       	call   0x402760
408571:	68 a0 c3 40 00       	push   $0x40c3a0
408576:	8b d6                	mov    %esi,%edx
408578:	8b cb                	mov    %ebx,%ecx
40857a:	e8 16 a2 ff ff       	call   0x402795
40857f:	8b cb                	mov    %ebx,%ecx
408581:	8d 51 02             	lea    0x2(%ecx),%edx
408584:	66 8b 01             	mov    (%ecx),%ax
408587:	83 c1 02             	add    $0x2,%ecx
40858a:	66 3b c7             	cmp    %di,%ax
40858d:	75 f5                	jne    0x408584
40858f:	2b ca                	sub    %edx,%ecx
408591:	d1 f9                	sar    $1,%ecx
408593:	8d 0c 4d fe ff ff ff 	lea    -0x2(,%ecx,2),%ecx
40859a:	66 83 b9 a0 a3 40 00 	cmpw   $0xa,0x40a3a0(%ecx)
4085a1:	0a
4085a2:	75 15                	jne    0x4085b9
4085a4:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
4085aa:	0f 83 ef 00 00 00    	jae    0x40869f
4085b0:	33 c0                	xor    %eax,%eax
4085b2:	66 89 81 a0 a3 40 00 	mov    %ax,0x40a3a0(%ecx)
4085b9:	8b cb                	mov    %ebx,%ecx
4085bb:	e8 71 f7 ff ff       	call   0x407d31
4085c0:	8b f0                	mov    %eax,%esi
4085c2:	57                   	push   %edi
4085c3:	e8 b1 0a 00 00       	call   0x409079
4085c8:	59                   	pop    %ecx
4085c9:	50                   	push   %eax
4085ca:	ff 15 98 f1 40 00    	call   *0x40f198
4085d0:	59                   	pop    %ecx
4085d1:	85 c0                	test   %eax,%eax
4085d3:	0f 84 3a ff ff ff    	je     0x408513
4085d9:	eb 5b                	jmp    0x408636
4085db:	6a 20                	push   $0x20
4085dd:	8d 84 24 ac 01 00 00 	lea    0x1ac(%esp),%eax
4085e4:	50                   	push   %eax
4085e5:	68 8d 04 00 00       	push   $0x48d
4085ea:	57                   	push   %edi
4085eb:	ff 15 20 f1 40 00    	call   *0x40f120
4085f1:	85 c0                	test   %eax,%eax
4085f3:	75 08                	jne    0x4085fd
4085f5:	66 89 84 24 a8 01 00 	mov    %ax,0x1a8(%esp)
4085fc:	00
4085fd:	56                   	push   %esi
4085fe:	ba 04 01 00 00       	mov    $0x104,%edx
408603:	8d 8c 24 ac 03 00 00 	lea    0x3ac(%esp),%ecx
40860a:	e8 d6 a8 ff ff       	call   0x402ee5
40860f:	50                   	push   %eax
408610:	8d 84 24 ac 01 00 00 	lea    0x1ac(%esp),%eax
408617:	50                   	push   %eax
408618:	68 a0 19 40 00       	push   $0x4019a0
40861d:	e8 98 a2 ff ff       	call   0x4028ba
408622:	83 c4 0c             	add    $0xc,%esp
408625:	eb 0f                	jmp    0x408636
408627:	ff 15 3c f1 40 00    	call   *0x40f13c
40862d:	8b c8                	mov    %eax,%ecx
40862f:	e8 fd f6 ff ff       	call   0x407d31
408634:	8b f0                	mov    %eax,%esi
408636:	ff 15 bc f0 40 00    	call   *0x40f0bc
40863c:	eb 4a                	jmp    0x408688
40863e:	6a 20                	push   $0x20
408640:	8d 84 24 ac 01 00 00 	lea    0x1ac(%esp),%eax
408647:	50                   	push   %eax
408648:	68 8f 04 00 00       	push   $0x48f
40864d:	57                   	push   %edi
40864e:	ff 15 20 f1 40 00    	call   *0x40f120
408654:	85 c0                	test   %eax,%eax
408656:	75 08                	jne    0x408660
408658:	66 89 84 24 a8 01 00 	mov    %ax,0x1a8(%esp)
40865f:	00
408660:	56                   	push   %esi
408661:	ba 04 01 00 00       	mov    $0x104,%edx
408666:	8d 8c 24 ac 03 00 00 	lea    0x3ac(%esp),%ecx
40866d:	e8 73 a8 ff ff       	call   0x402ee5
408672:	50                   	push   %eax
408673:	8d 84 24 ac 01 00 00 	lea    0x1ac(%esp),%eax
40867a:	50                   	push   %eax
40867b:	68 a0 19 40 00       	push   $0x4019a0
408680:	e8 35 a2 ff ff       	call   0x4028ba
408685:	83 c4 0c             	add    $0xc,%esp
408688:	8b c6                	mov    %esi,%eax
40868a:	8b 8c 24 b4 05 00 00 	mov    0x5b4(%esp),%ecx
408691:	5f                   	pop    %edi
408692:	5e                   	pop    %esi
408693:	5b                   	pop    %ebx
408694:	33 cc                	xor    %esp,%ecx
408696:	e8 35 04 00 00       	call   0x408ad0
40869b:	8b e5                	mov    %ebp,%esp
40869d:	5d                   	pop    %ebp
40869e:	c3                   	ret
40869f:	e8 74 05 00 00       	call   0x408c18
4086a4:	cc                   	int3
4086a5:	8b ff                	mov    %edi,%edi
4086a7:	55                   	push   %ebp
4086a8:	8b ec                	mov    %esp,%ebp
4086aa:	83 ec 1c             	sub    $0x1c,%esp
4086ad:	53                   	push   %ebx
4086ae:	8b 5d 08             	mov    0x8(%ebp),%ebx
4086b1:	56                   	push   %esi