40420e:	6a 22                	push   $0x22
404210:	0f be 07             	movsbl (%edi),%eax
404213:	89 45 14             	mov    %eax,0x14(%ebp)
404216:	8b 43 14             	mov    0x14(%ebx),%eax
404219:	ff 75 08             	push   0x8(%ebp)
40421c:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
404220:	8b f0                	mov    %eax,%esi
404222:	47                   	inc    %edi
404223:	f7 d6                	not    %esi
404225:	c1 ee 05             	shr    $0x5,%esi
404228:	83 e6 01             	and    $0x1,%esi
40422b:	83 e0 01             	and    $0x1,%eax
40422e:	89 7d f4             	mov    %edi,-0xc(%ebp)
404231:	c7 45 fc 9e 41 40 00 	movl   $0x40419e,-0x4(%ebp)
404238:	0b f0                	or     %eax,%esi
40423a:	e8 29 fe ff ff       	call   0x404068
40423f:	ff 73 38             	push   0x38(%ebx)
404242:	6a 23                	push   $0x23
404244:	ff 75 08             	push   0x8(%ebp)
404247:	e8 1c fe ff ff       	call   0x404068
40424c:	33 c0                	xor    %eax,%eax
40424e:	6a 01                	push   $0x1
404250:	85 f6                	test   %esi,%esi
404252:	0f 94 c0             	sete   %al
404255:	05 0a 04 00 00       	add    $0x40a,%eax
40425a:	50                   	push   %eax
40425b:	ff 75 08             	push   0x8(%ebp)
40425e:	ff 15 a8 71 40 00    	call   *0x4071a8
404264:	56                   	push   %esi
404265:	e8 20 fe ff ff       	call   0x40408a
40426a:	68 e8 03 00 00       	push   $0x3e8
40426f:	ff 75 08             	push   0x8(%ebp)
404272:	ff 15 d0 71 40 00    	call   *0x4071d0
404278:	8b d8                	mov    %eax,%ebx
40427a:	53                   	push   %ebx
40427b:	e8 1d fe ff ff       	call   0x40409d
404280:	8b 35 00 72 40 00    	mov    0x407200,%esi
404286:	6a 00                	push   $0x0
404288:	6a 01                	push   $0x1
40428a:	68 5b 04 00 00       	push   $0x45b
40428f:	53                   	push   %ebx
404290:	ff d6                	call   *%esi
404292:	a1 14 37 42 00       	mov    0x423714,%eax
404297:	8b 40 68             	mov    0x68(%eax),%eax
40429a:	85 c0                	test   %eax,%eax
40429c:	7d 09                	jge    0x4042a7
40429e:	f7 d8                	neg    %eax
4042a0:	50                   	push   %eax
4042a1:	ff 15 98 71 40 00    	call   *0x407198
4042a7:	50                   	push   %eax
4042a8:	6a 00                	push   $0x0
4042aa:	68 43 04 00 00       	push   $0x443
4042af:	53                   	push   %ebx
4042b0:	ff d6                	call   *%esi
4042b2:	68 00 00 01 04       	push   $0x4010000
4042b7:	6a 00                	push   $0x0
4042b9:	68 45 04 00 00       	push   $0x445
4042be:	53                   	push   %ebx
4042bf:	ff d6                	call   *%esi
4042c1:	57                   	push   %edi
4042c2:	e8 29 1d 00 00       	call   0x405ff0
4042c7:	33 ff                	xor    %edi,%edi
4042c9:	50                   	push   %eax
4042ca:	57                   	push   %edi
4042cb:	68 35 04 00 00       	push   $0x435
4042d0:	53                   	push   %ebx
4042d1:	ff d6                	call   *%esi
4042d3:	8d 45 f4             	lea    -0xc(%ebp),%eax
4042d6:	89 3d d4 ec 41 00    	mov    %edi,0x41ecd4
4042dc:	50                   	push   %eax
4042dd:	ff 75 14             	push   0x14(%ebp)
4042e0:	68 49 04 00 00       	push   $0x449
4042e5:	53                   	push   %ebx
4042e6:	ff d6                	call   *%esi
4042e8:	89 3d d4 ec 41 00    	mov    %edi,0x41ecd4
4042ee:	33 c0                	xor    %eax,%eax
4042f0:	e9 57 01 00 00       	jmp    0x40444c
4042f5:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
4042fc:	8b 1d d0 71 40 00    	mov    0x4071d0,%ebx
404302:	8b 35 00 72 40 00    	mov    0x407200,%esi
404308:	75 5a                	jne    0x404364
40430a:	8b 45 10             	mov    0x10(%ebp),%eax
40430d:	c1 e8 10             	shr    $0x10,%eax
404310:	66 85 c0             	test   %ax,%ax
404313:	0f 85 24 01 00 00    	jne    0x40443d
404319:	33 c0                	xor    %eax,%eax
40431b:	39 05 d4 ec 41 00    	cmp    %eax,0x41ecd4
404321:	0f 85 16 01 00 00    	jne    0x40443d
404327:	8b 0d e0 f4 41 00    	mov    0x41f4e0,%ecx
40432d:	8d 79 14             	lea    0x14(%ecx),%edi
404330:	f6 07 20             	testb  $0x20,(%edi)
404333:	0f 84 04 01 00 00    	je     0x40443d
404339:	50                   	push   %eax
40433a:	50                   	push   %eax
40433b:	68 f0 00 00 00       	push   $0xf0
404340:	68 0a 04 00 00       	push   $0x40a
404345:	ff 75 08             	push   0x8(%ebp)
404348:	ff d3                	call   *%ebx
40434a:	50                   	push   %eax
40434b:	ff d6                	call   *%esi
40434d:	8b 0f                	mov    (%edi),%ecx
40434f:	83 e0 01             	and    $0x1,%eax
404352:	83 e1 fe             	and    $0xfffffffe,%ecx
404355:	50                   	push   %eax
404356:	0b c8                	or     %eax,%ecx
404358:	89 0f                	mov    %ecx,(%edi)
40435a:	e8 2b fd ff ff       	call   0x40408a
40435f:	e8 ef 00 00 00       	call   0x404453
404364:	83 7d 0c 4e          	cmpl   $0x4e,0xc(%ebp)
404368:	0f 85 c0 00 00 00    	jne    0x40442e
40436e:	68 e8 03 00 00       	push   $0x3e8
404373:	ff 75 08             	push   0x8(%ebp)
404376:	ff d3                	call   *%ebx
404378:	8b 7d 14             	mov    0x14(%ebp),%edi
40437b:	81 7f 08 0b 07 00 00 	cmpl   $0x70b,0x8(%edi)
404382:	75 68                	jne    0x4043ec
404384:	81 7f 0c 01 02 00 00 	cmpl   $0x201,0xc(%edi)
40438b:	75 5f                	jne    0x4043ec
40438d:	8b 4f 1c             	mov    0x1c(%edi),%ecx
404390:	8b 57 18             	mov    0x18(%edi),%edx
404393:	89 4d f8             	mov    %ecx,-0x8(%ebp)
404396:	2b ca                	sub    %edx,%ecx
404398:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
40439e:	89 55 f4             	mov    %edx,-0xc(%ebp)
4043a1:	c7 45 fc a0 26 42 00 	movl   $0x4226a0,-0x4(%ebp)
4043a8:	73 42                	jae    0x4043ec
4043aa:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4043ad:	51                   	push   %ecx
4043ae:	6a 00                	push   $0x0
4043b0:	68 4b 04 00 00       	push   $0x44b
4043b5:	50                   	push   %eax
4043b6:	ff d6                	call   *%esi
4043b8:	8b 3d a4 71 40 00    	mov    0x4071a4,%edi
4043be:	68 02 7f 00 00       	push   $0x7f02
4043c3:	6a 00                	push   $0x0
4043c5:	ff d7                	call   *%edi
4043c7:	8b 1d a0 71 40 00    	mov    0x4071a0,%ebx
4043cd:	50                   	push   %eax
4043ce:	ff d3                	call   *%ebx
4043d0:	6a 01                	push   $0x1
4043d2:	ff 75 fc             	push   -0x4(%ebp)
4043d5:	ff 75 08             	push   0x8(%ebp)
4043d8:	e8 9a 00 00 00       	call   0x404477
4043dd:	68 00 7f 00 00       	push   $0x7f00
4043e2:	6a 00                	push   $0x0
4043e4:	ff d7                	call   *%edi
4043e6:	50                   	push   %eax
4043e7:	ff d3                	call   *%ebx
4043e9:	8b 7d 14             	mov    0x14(%ebp),%edi
4043ec:	81 7f 08 00 07 00 00 	cmpl   $0x700,0x8(%edi)
4043f3:	75 4b                	jne    0x404440
4043f5:	81 7f 0c 00 01 00 00 	cmpl   $0x100,0xc(%edi)
4043fc:	75 42                	jne    0x404440
4043fe:	83 7f 10 0d          	cmpl   $0xd,0x10(%edi)
404402:	75 11                	jne    0x404415
404404:	6a 00                	push   $0x0
404406:	6a 01                	push   $0x1
404408:	68 11 01 00 00       	push   $0x111
40440d:	ff 35 08 37 42 00    	push   0x423708
404413:	ff d6                	call   *%esi
404415:	83 7f 10 1b          	cmpl   $0x1b,0x10(%edi)
404419:	75 0e                	jne    0x404429
40441b:	6a 00                	push   $0x0
40441d:	6a 00                	push   $0x0
40441f:	6a 10                	push   $0x10
404421:	ff 35 08 37 42 00    	push   0x423708
404427:	ff d6                	call   *%esi
404429:	33 c0                	xor    %eax,%eax
40442b:	40                   	inc    %eax
40442c:	eb 1e                	jmp    0x40444c
40442e:	81 7d 0c 0b 04 00 00 	cmpl   $0x40b,0xc(%ebp)
404435:	75 06                	jne    0x40443d
404437:	ff 05 d4 ec 41 00    	incl   0x41ecd4
40443d:	8b 7d 14             	mov    0x14(%ebp),%edi
404440:	57                   	push   %edi
404441:	ff 75 10             	push   0x10(%ebp)
404444:	ff 75 0c             	push   0xc(%ebp)
404447:	e8 83 fc ff ff       	call   0x4040cf
40444c:	5f                   	pop    %edi
40444d:	5e                   	pop    %esi
40444e:	5b                   	pop    %ebx
40444f:	c9                   	leave
404450:	c2 10 00             	ret    $0x10
404453:	83 3d ac 37 42 00 00 	cmpl   $0x0,0x4237ac
40445a:	a1 d0 ec 41 00       	mov    0x41ecd0,%eax
40445f:	75 05                	jne    0x404466
404461:	a1 04 fd 41 00       	mov    0x41fd04,%eax
404466:	6a 01                	push   $0x1
404468:	6a 01                	push   $0x1
40446a:	68 f4 00 00 00       	push   $0xf4
40446f:	50                   	push   %eax
404470:	ff 15 00 72 40 00    	call   *0x407200
404476:	c3                   	ret
404477:	55                   	push   %ebp
404478:	8b ec                	mov    %esp,%ebp
40447a:	83 ec 3c             	sub    $0x3c,%esp
40447d:	8b 45 08             	mov    0x8(%ebp),%eax
404480:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
404484:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
404488:	89 45 cc             	mov    %eax,-0x34(%ebp)
40448b:	8b 45 0c             	mov    0xc(%ebp),%eax
40448e:	c7 45 c8 00 05 00 00 	movl   $0x500,-0x38(%ebp)
404495:	89 45 d4             	mov    %eax,-0x2c(%ebp)
404498:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40449b:	50                   	push   %eax
40449c:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
4044a3:	c7 45 d0 00 92 40 00 	movl   $0x409200,-0x30(%ebp)
4044aa:	e8 0d 12 00 00       	call   0x4056bc
4044af:	c9                   	leave
4044b0:	c2 0c 00             	ret    $0xc
4044b3:	55                   	push   %ebp
4044b4:	8b ec                	mov    %esp,%ebp
4044b6:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
4044bd:	56                   	push   %esi
4044be:	8b 75 14             	mov    0x14(%ebp),%esi
4044c1:	75 26                	jne    0x4044e9
4044c3:	ff 76 30             	push   0x30(%esi)
4044c6:	6a 1d                	push   $0x1d
4044c8:	ff 75 08             	push   0x8(%ebp)
4044cb:	e8 98 fb ff ff       	call   0x404068
4044d0:	8b 46 3c             	mov    0x3c(%esi),%eax
4044d3:	c1 e0 0a             	shl    $0xa,%eax
4044d6:	05 00 40 42 00       	add    $0x424000,%eax
4044db:	50                   	push   %eax
4044dc:	68 e8 03 00 00       	push   $0x3e8
4044e1:	ff 75 08             	push   0x8(%ebp)
4044e4:	e8 eb 11 00 00       	call   0x4056d4
4044e9:	56                   	push   %esi
4044ea:	ff 75 10             	push   0x10(%ebp)
4044ed:	ff 75 0c             	push   0xc(%ebp)
4044f0:	e8 da fb ff ff       	call   0x4040cf
4044f5:	5e                   	pop    %esi
4044f6:	5d                   	pop    %ebp
4044f7:	c2 10 00             	ret    $0x10
4044fa:	55                   	push   %ebp
4044fb:	8b ec                	mov    %esp,%ebp
4044fd:	83 ec 4c             	sub    $0x4c,%esp
404500:	a1 e0 f4 41 00       	mov    0x41f4e0,%eax
404505:	53                   	push   %ebx
404506:	89 45 e4             	mov    %eax,-0x1c(%ebp)
404509:	56                   	push   %esi
40450a:	8b 58 3c             	mov    0x3c(%eax),%ebx
40450d:	8b 40 38             	mov    0x38(%eax),%eax
404510:	c1 e3 0a             	shl    $0xa,%ebx
404513:	81 c3 00 40 42 00    	add    $0x424000,%ebx
404519:	81 7d 0c 0b 04 00 00 	cmpl   $0x40b,0xc(%ebp)
404520:	57                   	push   %edi
404521:	89 45 f8             	mov    %eax,-0x8(%ebp)
404524:	75 11                	jne    0x404537
404526:	53                   	push   %ebx
404527:	68 fb 03 00 00       	push   $0x3fb
40452c:	e8 a9 11 00 00       	call   0x4056da
404531:	53                   	push   %ebx
404532:	e8 0d 1d 00 00       	call   0x406244
404537:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
40453e:	8b 75 08             	mov    0x8(%ebp),%esi
404541:	75 6c                	jne    0x4045af
404543:	68 fb 03 00 00       	push   $0x3fb
404548:	56                   	push   %esi
404549:	ff 15 d0 71 40 00    	call   *0x4071d0
40454f:	53                   	push   %ebx
404550:	8b f8                	mov    %eax,%edi
404552:	e8 88 14 00 00       	call   0x4059df
404557:	85 c0                	test   %eax,%eax
404559:	74 10                	je     0x40456b
40455b:	53                   	push   %ebx
40455c:	e8 aa 14 00 00       	call   0x405a0b
404561:	85 c0                	test   %eax,%eax
404563:	75 06                	jne    0x40456b
404565:	53                   	push   %ebx
404566:	e8 07 14 00 00       	call   0x405972
40456b:	53                   	push   %ebx
40456c:	57                   	push   %edi
40456d:	89 35 d8 2e 42 00    	mov    %esi,0x422ed8
404573:	ff 15 40 72 40 00    	call   *0x407240
404579:	8b 45 14             	mov    0x14(%ebp),%eax
40457c:	ff 70 34             	push   0x34(%eax)
40457f:	6a 01                	push   $0x1
404581:	56                   	push   %esi
404582:	e8 e1 fa ff ff       	call   0x404068
404587:	8b 45 14             	mov    0x14(%ebp),%eax
40458a:	ff 70 30             	push   0x30(%eax)
40458d:	6a 14                	push   $0x14
40458f:	56                   	push   %esi
404590:	e8 d3 fa ff ff       	call   0x404068
404595:	57                   	push   %edi
404596:	e8 02 fb ff ff       	call   0x40409d
40459b:	6a 07                	push   $0x7
40459d:	e8 d0 1d 00 00       	call   0x406372
4045a2:	85 c0                	test   %eax,%eax
4045a4:	0f 84 8c 02 00 00    	je     0x404836
4045aa:	6a 01                	push   $0x1
4045ac:	57                   	push   %edi
4045ad:	ff d0                	call   *%eax
4045af:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
4045b6:	0f 85 d1 00 00 00    	jne    0x40468d
4045bc:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
4045c0:	3d fb 03 00 00       	cmp    $0x3fb,%eax
4045c5:	75 18                	jne    0x4045df
4045c7:	8b 4d 10             	mov    0x10(%ebp),%ecx
4045ca:	c1 e9 10             	shr    $0x10,%ecx
4045cd:	66 81 f9 00 03       	cmp    $0x300,%cx
4045d2:	0f 85 5e 02 00 00    	jne    0x404836
4045d8:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
4045df:	3d e9 03 00 00       	cmp    $0x3e9,%eax
4045e4:	0f 85 a3 00 00 00    	jne    0x40468d
4045ea:	6a 07                	push   $0x7
4045ec:	33 c0                	xor    %eax,%eax
4045ee:	59                   	pop    %ecx
4045ef:	8d 7d b8             	lea    -0x48(%ebp),%edi
4045f2:	ff 75 f8             	push   -0x8(%ebp)
4045f5:	f3 ab                	rep stos %eax,%es:(%edi)
4045f7:	bf 08 fd 41 00       	mov    $0x41fd08,%edi
4045fc:	68 e0 f0 41 00       	push   $0x41f0e0
404601:	89 75 b4             	mov    %esi,-0x4c(%ebp)
404604:	89 7d bc             	mov    %edi,-0x44(%ebp)
404607:	c7 45 c8 4b 48 40 00 	movl   $0x40484b,-0x38(%ebp)
40460e:	89 5d cc             	mov    %ebx,-0x34(%ebp)
404611:	e8 e6 19 00 00       	call   0x405ffc
404616:	89 45 c0             	mov    %eax,-0x40(%ebp)
404619:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40461c:	50                   	push   %eax
40461d:	c7 45 c4 41 00 00 00 	movl   $0x41,-0x3c(%ebp)
404624:	ff 15 74 71 40 00    	call   *0x407174
40462a:	85 c0                	test   %eax,%eax
40462c:	74 58                	je     0x404686
40462e:	50                   	push   %eax
40462f:	ff 15 88 72 40 00    	call   *0x407288
404635:	53                   	push   %ebx
404636:	e8 37 13 00 00       	call   0x405972
40463b:	a1 14 37 42 00       	mov    0x423714,%eax
404640:	8b 80 1c 01 00 00    	mov    0x11c(%eax),%eax
404646:	85 c0                	test   %eax,%eax
404648:	74 28                	je     0x404672
40464a:	81 fb 00 94 42 00    	cmp    $0x429400,%ebx
404650:	75 20                	jne    0x404672
404652:	50                   	push   %eax
404653:	6a 00                	push   $0x0
404655:	e8 a2 19 00 00       	call   0x405ffc
40465a:	57                   	push   %edi
40465b:	bf a0 26 42 00       	mov    $0x4226a0,%edi
404660:	57                   	push   %edi
404661:	ff 15 18 71 40 00    	call   *0x407118
404667:	85 c0                	test   %eax,%eax
404669:	74 07                	je     0x404672
40466b:	57                   	push   %edi
40466c:	53                   	push   %ebx
40466d:	e8 84 19 00 00       	call   0x405ff6
404672:	ff 05 f8 fc 41 00    	incl   0x41fcf8
404678:	53                   	push   %ebx