404244:	59                   	pop    %ecx
404245:	8b 45 08             	mov    0x8(%ebp),%eax
404248:	a3 8c 1a 42 00       	mov    %eax,0x421a8c
40424d:	5d                   	pop    %ebp
40424e:	c3                   	ret
40424f:	55                   	push   %ebp
404250:	8b ec                	mov    %esp,%ebp
404252:	8b 45 08             	mov    0x8(%ebp),%eax
404255:	8b 08                	mov    (%eax),%ecx
404257:	85 c9                	test   %ecx,%ecx
404259:	74 11                	je     0x40426c
40425b:	8b 01                	mov    (%ecx),%eax
40425d:	ff 50 08             	call   *0x8(%eax)
404260:	85 c0                	test   %eax,%eax
404262:	74 08                	je     0x40426c
404264:	8b 10                	mov    (%eax),%edx
404266:	6a 01                	push   $0x1
404268:	8b c8                	mov    %eax,%ecx
40426a:	ff 12                	call   *(%edx)
40426c:	5d                   	pop    %ebp
40426d:	c3                   	ret
40426e:	55                   	push   %ebp
40426f:	8b ec                	mov    %esp,%ebp
404271:	51                   	push   %ecx
404272:	6a 00                	push   $0x0
404274:	8d 4d fc             	lea    -0x4(%ebp),%ecx
404277:	e8 41 01 00 00       	call   0x4043bd
40427c:	68 8c 1a 42 00       	push   $0x421a8c
404281:	e8 c9 ff ff ff       	call   0x40424f
404286:	83 25 8c 1a 42 00 00 	andl   $0x0,0x421a8c
40428d:	59                   	pop    %ecx
40428e:	8d 4d fc             	lea    -0x4(%ebp),%ecx
404291:	e8 83 01 00 00       	call   0x404419
404296:	c9                   	leave
404297:	c3                   	ret
404298:	55                   	push   %ebp
404299:	8b ec                	mov    %esp,%ebp
40429b:	51                   	push   %ecx
40429c:	6a 02                	push   $0x2
40429e:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4042a1:	e8 17 01 00 00       	call   0x4043bd
4042a6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4042a9:	c7 41 08 01 00 00 00 	movl   $0x1,0x8(%ecx)
4042b0:	8b 51 08             	mov    0x8(%ecx),%edx
4042b3:	8b 04 95 b4 1a 42 00 	mov    0x421ab4(,%edx,4),%eax
4042ba:	85 c0                	test   %eax,%eax
4042bc:	74 0f                	je     0x4042cd
4042be:	3b c1                	cmp    %ecx,%eax
4042c0:	74 0b                	je     0x4042cd
4042c2:	8d 42 01             	lea    0x1(%edx),%eax
4042c5:	89 41 08             	mov    %eax,0x8(%ecx)
4042c8:	83 f8 08             	cmp    $0x8,%eax
4042cb:	72 e3                	jb     0x4042b0
4042cd:	8b 41 08             	mov    0x8(%ecx),%eax
4042d0:	89 0c 85 b4 1a 42 00 	mov    %ecx,0x421ab4(,%eax,4)
4042d7:	8b 41 08             	mov    0x8(%ecx),%eax
4042da:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4042dd:	fe 80 dc 1a 42 00    	incb   0x421adc(%eax)
4042e3:	e8 31 01 00 00       	call   0x404419
4042e8:	c9                   	leave
4042e9:	c3                   	ret
4042ea:	55                   	push   %ebp
4042eb:	8b ec                	mov    %esp,%ebp
4042ed:	56                   	push   %esi
4042ee:	57                   	push   %edi
4042ef:	8b f9                	mov    %ecx,%edi
4042f1:	8b 77 2c             	mov    0x2c(%edi),%esi
4042f4:	eb 0f                	jmp    0x404305
4042f6:	ff 76 04             	push   0x4(%esi)
4042f9:	57                   	push   %edi
4042fa:	ff 75 08             	push   0x8(%ebp)
4042fd:	ff 56 08             	call   *0x8(%esi)
404300:	8b 36                	mov    (%esi),%esi
404302:	83 c4 0c             	add    $0xc,%esp
404305:	85 f6                	test   %esi,%esi
404307:	75 ed                	jne    0x4042f6
404309:	5f                   	pop    %edi
40430a:	5e                   	pop    %esi
40430b:	5d                   	pop    %ebp
40430c:	c2 04 00             	ret    $0x4
40430f:	55                   	push   %ebp
404310:	8b ec                	mov    %esp,%ebp
404312:	56                   	push   %esi
404313:	8b 75 08             	mov    0x8(%ebp),%esi
404316:	8b 46 08             	mov    0x8(%esi),%eax
404319:	85 c0                	test   %eax,%eax
40431b:	74 10                	je     0x40432d
40431d:	fe 88 dc 1a 42 00    	decb   0x421adc(%eax)
404323:	8a 80 dc 1a 42 00    	mov    0x421adc(%eax),%al
404329:	84 c0                	test   %al,%al
40432b:	7f 1c                	jg     0x404349
40432d:	8b ce                	mov    %esi,%ecx
40432f:	e8 18 00 00 00       	call   0x40434c
404334:	8b 76 30             	mov    0x30(%esi),%esi
404337:	85 f6                	test   %esi,%esi
404339:	74 0e                	je     0x404349
40433b:	8b ce                	mov    %esi,%ecx
40433d:	e8 89 e1 ff ff       	call   0x4024cb
404342:	56                   	push   %esi
404343:	e8 b0 0b 00 00       	call   0x404ef8
404348:	59                   	pop    %ecx
404349:	5e                   	pop    %esi
40434a:	5d                   	pop    %ebp
40434b:	c3                   	ret
40434c:	56                   	push   %esi
40434d:	57                   	push   %edi
40434e:	6a 00                	push   $0x0
404350:	8b f9                	mov    %ecx,%edi
404352:	e8 93 ff ff ff       	call   0x4042ea
404357:	8b 47 28             	mov    0x28(%edi),%eax
40435a:	85 c0                	test   %eax,%eax
40435c:	74 0f                	je     0x40436d
40435e:	8b 30                	mov    (%eax),%esi
404360:	50                   	push   %eax
404361:	e8 92 0b 00 00       	call   0x404ef8
404366:	59                   	pop    %ecx
404367:	8b c6                	mov    %esi,%eax
404369:	85 f6                	test   %esi,%esi
40436b:	75 f1                	jne    0x40435e
40436d:	8b 47 2c             	mov    0x2c(%edi),%eax
404370:	83 67 28 00          	andl   $0x0,0x28(%edi)
404374:	85 c0                	test   %eax,%eax
404376:	74 0f                	je     0x404387
404378:	8b 30                	mov    (%eax),%esi
40437a:	50                   	push   %eax
40437b:	e8 78 0b 00 00       	call   0x404ef8
404380:	59                   	pop    %ecx
404381:	8b c6                	mov    %esi,%eax
404383:	85 f6                	test   %esi,%esi
404385:	75 f1                	jne    0x404378
404387:	83 67 2c 00          	andl   $0x0,0x2c(%edi)
40438b:	5f                   	pop    %edi
40438c:	5e                   	pop    %esi
40438d:	c3                   	ret
40438e:	57                   	push   %edi
40438f:	68 1c 01 42 00       	push   $0x42011c
404394:	8b f9                	mov    %ecx,%edi
404396:	ff 15 50 90 41 00    	call   *0x419050
40439c:	85 c0                	test   %eax,%eax
40439e:	75 19                	jne    0x4043b9
4043a0:	56                   	push   %esi
4043a1:	be f8 1a 42 00       	mov    $0x421af8,%esi
4043a6:	56                   	push   %esi
4043a7:	e8 5c 03 00 00       	call   0x404708
4043ac:	83 c6 18             	add    $0x18,%esi
4043af:	59                   	pop    %ecx
4043b0:	81 fe 58 1b 42 00    	cmp    $0x421b58,%esi
4043b6:	7c ee                	jl     0x4043a6
4043b8:	5e                   	pop    %esi
4043b9:	8b c7                	mov    %edi,%eax
4043bb:	5f                   	pop    %edi
4043bc:	c3                   	ret
4043bd:	55                   	push   %ebp
4043be:	8b ec                	mov    %esp,%ebp
4043c0:	8b 45 08             	mov    0x8(%ebp),%eax
4043c3:	56                   	push   %esi
4043c4:	8b f1                	mov    %ecx,%esi
4043c6:	89 06                	mov    %eax,(%esi)
4043c8:	85 c0                	test   %eax,%eax
4043ca:	75 09                	jne    0x4043d5
4043cc:	6a 0c                	push   $0xc
4043ce:	e8 d4 40 00 00       	call   0x4084a7
4043d3:	eb 13                	jmp    0x4043e8
4043d5:	83 f8 04             	cmp    $0x4,%eax
4043d8:	7d 0f                	jge    0x4043e9
4043da:	6b c0 18             	imul   $0x18,%eax,%eax
4043dd:	05 f8 1a 42 00       	add    $0x421af8,%eax
4043e2:	50                   	push   %eax
4043e3:	e8 35 03 00 00       	call   0x40471d
4043e8:	59                   	pop    %ecx
4043e9:	8b c6                	mov    %esi,%eax
4043eb:	5e                   	pop    %esi
4043ec:	5d                   	pop    %ebp
4043ed:	c2 04 00             	ret    $0x4
4043f0:	68 1c 01 42 00       	push   $0x42011c
4043f5:	ff 15 54 90 41 00    	call   *0x419054
4043fb:	85 c0                	test   %eax,%eax
4043fd:	79 19                	jns    0x404418
4043ff:	56                   	push   %esi
404400:	be f8 1a 42 00       	mov    $0x421af8,%esi
404405:	56                   	push   %esi
404406:	e8 ef 02 00 00       	call   0x4046fa
40440b:	83 c6 18             	add    $0x18,%esi
40440e:	59                   	pop    %ecx
40440f:	81 fe 58 1b 42 00    	cmp    $0x421b58,%esi
404415:	7c ee                	jl     0x404405
404417:	5e                   	pop    %esi
404418:	c3                   	ret
404419:	8b 01                	mov    (%ecx),%eax
40441b:	85 c0                	test   %eax,%eax
40441d:	75 09                	jne    0x404428
40441f:	6a 0c                	push   $0xc
404421:	e8 e5 41 00 00       	call   0x40860b
404426:	59                   	pop    %ecx
404427:	c3                   	ret
404428:	83 f8 04             	cmp    $0x4,%eax
40442b:	7d 0f                	jge    0x40443c
40442d:	6b c0 18             	imul   $0x18,%eax,%eax
404430:	05 f8 1a 42 00       	add    $0x421af8,%eax
404435:	50                   	push   %eax
404436:	e8 f0 02 00 00       	call   0x40472b
40443b:	59                   	pop    %ecx
40443c:	c3                   	ret
40443d:	55                   	push   %ebp
40443e:	8b ec                	mov    %esp,%ebp
404440:	56                   	push   %esi
404441:	e8 1d 39 00 00       	call   0x407d63
404446:	8b 75 08             	mov    0x8(%ebp),%esi
404449:	6a 02                	push   $0x2
40444b:	68 00 01 00 00       	push   $0x100
404450:	89 06                	mov    %eax,(%esi)
404452:	e8 01 46 00 00       	call   0x408a58
404457:	59                   	pop    %ecx
404458:	59                   	pop    %ecx
404459:	89 46 04             	mov    %eax,0x4(%esi)
40445c:	85 c0                	test   %eax,%eax
40445e:	74 1f                	je     0x40447f
404460:	68 00 02 00 00       	push   $0x200
404465:	e8 b6 41 00 00       	call   0x408620
40446a:	50                   	push   %eax
40446b:	ff 76 04             	push   0x4(%esi)
40446e:	e8 2d 12 00 00       	call   0x4056a0
404473:	83 c4 0c             	add    $0xc,%esp
404476:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
40447d:	eb 0c                	jmp    0x40448b
40447f:	e8 9c 41 00 00       	call   0x408620
404484:	83 66 08 00          	andl   $0x0,0x8(%esi)
404488:	89 46 04             	mov    %eax,0x4(%esi)
40448b:	e8 f9 38 00 00       	call   0x407d89
404490:	8b 40 04             	mov    0x4(%eax),%eax
404493:	89 46 0c             	mov    %eax,0xc(%esi)
404496:	85 c0                	test   %eax,%eax
404498:	74 0a                	je     0x4044a4
40449a:	50                   	push   %eax
40449b:	e8 1a 43 00 00       	call   0x4087ba
4044a0:	59                   	pop    %ecx
4044a1:	89 46 0c             	mov    %eax,0xc(%esi)
4044a4:	8b c6                	mov    %esi,%eax
4044a6:	5e                   	pop    %esi
4044a7:	5d                   	pop    %ebp
4044a8:	c3                   	ret
4044a9:	55                   	push   %ebp
4044aa:	8b ec                	mov    %esp,%ebp
4044ac:	83 ec 0c             	sub    $0xc,%esp
4044af:	56                   	push   %esi
4044b0:	8b 75 0c             	mov    0xc(%ebp),%esi
4044b3:	57                   	push   %edi
4044b4:	85 f6                	test   %esi,%esi
4044b6:	75 0f                	jne    0x4044c7
4044b8:	e8 cc 38 00 00       	call   0x407d89
4044bd:	8b 78 08             	mov    0x8(%eax),%edi
4044c0:	e8 9e 38 00 00       	call   0x407d63
4044c5:	eb 05                	jmp    0x4044cc
4044c7:	8b 7e 0c             	mov    0xc(%esi),%edi
4044ca:	8b 06                	mov    (%esi),%eax
4044cc:	89 45 f8             	mov    %eax,-0x8(%ebp)
4044cf:	85 ff                	test   %edi,%edi
4044d1:	75 17                	jne    0x4044ea
4044d3:	8b 45 08             	mov    0x8(%ebp),%eax
4044d6:	8d 48 bf             	lea    -0x41(%eax),%ecx
4044d9:	83 f9 19             	cmp    $0x19,%ecx
4044dc:	0f 87 c0 00 00 00    	ja     0x4045a2
4044e2:	83 c0 20             	add    $0x20,%eax
4044e5:	e9 b8 00 00 00       	jmp    0x4045a2
4044ea:	53                   	push   %ebx
4044eb:	8b 5d 08             	mov    0x8(%ebp),%ebx
4044ee:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
4044f4:	73 1d                	jae    0x404513
4044f6:	85 f6                	test   %esi,%esi
4044f8:	75 10                	jne    0x40450a
4044fa:	53                   	push   %ebx
4044fb:	e8 8f 42 00 00       	call   0x40878f
404500:	59                   	pop    %ecx
404501:	85 c0                	test   %eax,%eax
404503:	75 12                	jne    0x404517
404505:	e9 81 00 00 00       	jmp    0x40458b
40450a:	8b 46 04             	mov    0x4(%esi),%eax
40450d:	f6 04 58 01          	testb  $0x1,(%eax,%ebx,2)
404511:	74 78                	je     0x40458b
404513:	85 f6                	test   %esi,%esi
404515:	75 1e                	jne    0x404535
404517:	8b c3                	mov    %ebx,%eax
404519:	c1 f8 08             	sar    $0x8,%eax
40451c:	89 45 f4             	mov    %eax,-0xc(%ebp)
40451f:	e8 fc 40 00 00       	call   0x408620
404524:	8b 55 f4             	mov    -0xc(%ebp),%edx
404527:	0f b6 ca             	movzbl %dl,%ecx
40452a:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
40452e:	25 00 80 00 00       	and    $0x8000,%eax
404533:	eb 15                	jmp    0x40454a
404535:	8b 46 04             	mov    0x4(%esi),%eax
404538:	8b d3                	mov    %ebx,%edx
40453a:	c1 fa 08             	sar    $0x8,%edx
40453d:	0f b6 ca             	movzbl %dl,%ecx
404540:	0f bf 04 48          	movswl (%eax,%ecx,2),%eax
404544:	c1 e8 0f             	shr    $0xf,%eax
404547:	83 e0 01             	and    $0x1,%eax
40454a:	85 c0                	test   %eax,%eax
40454c:	74 0f                	je     0x40455d
40454e:	6a 02                	push   $0x2
404550:	88 55 0c             	mov    %dl,0xc(%ebp)
404553:	88 5d 0d             	mov    %bl,0xd(%ebp)
404556:	c6 45 0e 00          	movb   $0x0,0xe(%ebp)
40455a:	58                   	pop    %eax
40455b:	eb 0a                	jmp    0x404567
40455d:	33 c0                	xor    %eax,%eax
40455f:	88 5d 0c             	mov    %bl,0xc(%ebp)
404562:	c6 45 0d 00          	movb   $0x0,0xd(%ebp)
404566:	40                   	inc    %eax
404567:	6a 01                	push   $0x1
404569:	ff 75 f8             	push   -0x8(%ebp)
40456c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40456f:	6a 03                	push   $0x3
404571:	51                   	push   %ecx
404572:	50                   	push   %eax
404573:	8d 45 0c             	lea    0xc(%ebp),%eax
404576:	50                   	push   %eax
404577:	68 00 01 00 00       	push   $0x100
40457c:	57                   	push   %edi
40457d:	6a 00                	push   $0x0
40457f:	e8 72 44 00 00       	call   0x4089f6
404584:	83 c4 24             	add    $0x24,%esp
404587:	85 c0                	test   %eax,%eax
404589:	75 04                	jne    0x40458f
40458b:	8b c3                	mov    %ebx,%eax
40458d:	eb 12                	jmp    0x4045a1
40458f:	83 f8 01             	cmp    $0x1,%eax
404592:	0f b6 45 fc          	movzbl -0x4(%ebp),%eax
404596:	74 09                	je     0x4045a1
404598:	0f b6 4d fd          	movzbl -0x3(%ebp),%ecx
40459c:	c1 e0 08             	shl    $0x8,%eax
40459f:	0b c1                	or     %ecx,%eax
4045a1:	5b                   	pop    %ebx
4045a2:	5f                   	pop    %edi
4045a3:	5e                   	pop    %esi
4045a4:	c9                   	leave
4045a5:	c3                   	ret
4045a6:	55                   	push   %ebp
4045a7:	8b ec                	mov    %esp,%ebp
4045a9:	83 ec 0c             	sub    $0xc,%esp
4045ac:	56                   	push   %esi
4045ad:	8b 75 0c             	mov    0xc(%ebp),%esi
4045b0:	57                   	push   %edi
4045b1:	85 f6                	test   %esi,%esi
4045b3:	75 0f                	jne    0x4045c4
4045b5:	e8 cf 37 00 00       	call   0x407d89
4045ba:	8b 78 08             	mov    0x8(%eax),%edi
4045bd:	e8 a1 37 00 00       	call   0x407d63
4045c2:	eb 05                	jmp    0x4045c9
4045c4:	8b 7e 0c             	mov    0xc(%esi),%edi