4021e6:	5f                   	pop    %edi
4021e7:	5e                   	pop    %esi
4021e8:	b8 f8 ff ff ff       	mov    $0xfffffff8,%eax
4021ed:	5b                   	pop    %ebx
4021ee:	c3                   	ret
4021ef:	85 f6                	test   %esi,%esi
4021f1:	74 0c                	je     0x4021ff
4021f3:	85 c0                	test   %eax,%eax
4021f5:	74 0c                	je     0x402203
4021f7:	5f                   	pop    %edi
4021f8:	33 c0                	xor    %eax,%eax
4021fa:	5e                   	pop    %esi
4021fb:	89 03                	mov    %eax,(%ebx)
4021fd:	5b                   	pop    %ebx
4021fe:	c3                   	ret
4021ff:	85 c0                	test   %eax,%eax
402201:	74 f4                	je     0x4021f7
402203:	5f                   	pop    %edi
402204:	b8 01 00 00 00       	mov    $0x1,%eax
402209:	89 03                	mov    %eax,(%ebx)
40220b:	5e                   	pop    %esi
40220c:	33 c0                	xor    %eax,%eax
40220e:	5b                   	pop    %ebx
40220f:	c3                   	ret
402210:	51                   	push   %ecx
402211:	53                   	push   %ebx
402212:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
402216:	8b 43 28             	mov    0x28(%ebx),%eax
402219:	85 c0                	test   %eax,%eax
40221b:	75 08                	jne    0x402225
40221d:	b8 01 00 00 00       	mov    $0x1,%eax
402222:	5b                   	pop    %ebx
402223:	59                   	pop    %ecx
402224:	c3                   	ret
402225:	56                   	push   %esi
402226:	8b 74 24 14          	mov    0x14(%esp),%esi
40222a:	57                   	push   %edi
40222b:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
40222f:	51                   	push   %ecx
402230:	8d 54 24 18          	lea    0x18(%esp),%edx
402234:	52                   	push   %edx
402235:	8b 16                	mov    (%esi),%edx
402237:	8d 4c 24 20          	lea    0x20(%esp),%ecx
40223b:	51                   	push   %ecx
40223c:	50                   	push   %eax
40223d:	52                   	push   %edx
40223e:	e8 1d ff ff ff       	call   0x402160
402243:	8b f8                	mov    %eax,%edi
402245:	83 c4 14             	add    $0x14,%esp
402248:	85 ff                	test   %edi,%edi
40224a:	74 0d                	je     0x402259
40224c:	89 7e 14             	mov    %edi,0x14(%esi)
40224f:	5f                   	pop    %edi
402250:	5e                   	pop    %esi
402251:	b8 01 00 00 00       	mov    $0x1,%eax
402256:	5b                   	pop    %ebx
402257:	59                   	pop    %ecx
402258:	c3                   	ret
402259:	8b 46 20             	mov    0x20(%esi),%eax
40225c:	48                   	dec    %eax
40225d:	83 f8 07             	cmp    $0x7,%eax
402260:	0f 87 41 01 00 00    	ja     0x4023a7
402266:	ff 24 85 b8 23 40 00 	jmp    *0x4023b8(,%eax,4)
40226d:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
402272:	0f 84 25 01 00 00    	je     0x40239d
402278:	5f                   	pop    %edi
402279:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
402280:	5e                   	pop    %esi
402281:	33 c0                	xor    %eax,%eax
402283:	5b                   	pop    %ebx
402284:	59                   	pop    %ecx
402285:	c3                   	ret
402286:	8b 46 1c             	mov    0x1c(%esi),%eax
402289:	85 c0                	test   %eax,%eax
40228b:	0f 84 0c 01 00 00    	je     0x40239d
402291:	8b 4b 20             	mov    0x20(%ebx),%ecx
402294:	51                   	push   %ecx
402295:	50                   	push   %eax
402296:	e8 fc 12 03 00       	call   0x433597
40229b:	83 c4 08             	add    $0x8,%esp
40229e:	85 c0                	test   %eax,%eax
4022a0:	0f 85 f7 00 00 00    	jne    0x40239d
4022a6:	b8 01 00 00 00       	mov    $0x1,%eax
4022ab:	eb 04                	jmp    0x4022b1
4022ad:	8b 44 24 18          	mov    0x18(%esp),%eax
4022b1:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
4022b6:	0f 84 e1 00 00 00    	je     0x40239d
4022bc:	85 c0                	test   %eax,%eax
4022be:	0f 84 d9 00 00 00    	je     0x40239d
4022c4:	8b 56 18             	mov    0x18(%esi),%edx
4022c7:	8b 43 28             	mov    0x28(%ebx),%eax
4022ca:	52                   	push   %edx
4022cb:	6a 01                	push   $0x1
4022cd:	50                   	push   %eax
4022ce:	e8 cd 39 00 00       	call   0x405ca0
4022d3:	83 c4 0c             	add    $0xc,%esp
4022d6:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
4022da:	0f 85 bd 00 00 00    	jne    0x40239d
4022e0:	5f                   	pop    %edi
4022e1:	89 46 10             	mov    %eax,0x10(%esi)
4022e4:	5e                   	pop    %esi
4022e5:	b8 01 00 00 00       	mov    $0x1,%eax
4022ea:	5b                   	pop    %ebx
4022eb:	59                   	pop    %ecx
4022ec:	c3                   	ret
4022ed:	8b 46 1c             	mov    0x1c(%esi),%eax
4022f0:	85 c0                	test   %eax,%eax
4022f2:	0f 84 a5 00 00 00    	je     0x40239d
4022f8:	8b 4b 20             	mov    0x20(%ebx),%ecx
4022fb:	51                   	push   %ecx
4022fc:	50                   	push   %eax
4022fd:	e8 95 12 03 00       	call   0x433597
402302:	83 c4 08             	add    $0x8,%esp
402305:	85 c0                	test   %eax,%eax
402307:	0f 85 90 00 00 00    	jne    0x40239d
40230d:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
402312:	0f 84 85 00 00 00    	je     0x40239d
402318:	83 7e 20 06          	cmpl   $0x6,0x20(%esi)
40231c:	75 14                	jne    0x402332
40231e:	8b 56 18             	mov    0x18(%esi),%edx
402321:	8b 43 28             	mov    0x28(%ebx),%eax
402324:	52                   	push   %edx
402325:	6a 01                	push   $0x1
402327:	50                   	push   %eax
402328:	e8 03 f6 ff ff       	call   0x401930
40232d:	83 c4 0c             	add    $0xc,%esp
402330:	8b f8                	mov    %eax,%edi
402332:	83 7e 20 05          	cmpl   $0x5,0x20(%esi)
402336:	75 14                	jne    0x40234c
402338:	8b 4e 18             	mov    0x18(%esi),%ecx
40233b:	8b 53 28             	mov    0x28(%ebx),%edx
40233e:	51                   	push   %ecx
40233f:	6a 01                	push   $0x1
402341:	52                   	push   %edx
402342:	e8 c9 f5 ff ff       	call   0x401910
402347:	83 c4 0c             	add    $0xc,%esp
40234a:	8b f8                	mov    %eax,%edi
40234c:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
402350:	75 4b                	jne    0x40239d
402352:	89 7e 10             	mov    %edi,0x10(%esi)
402355:	5f                   	pop    %edi
402356:	5e                   	pop    %esi
402357:	b8 01 00 00 00       	mov    $0x1,%eax
40235c:	5b                   	pop    %ebx
40235d:	59                   	pop    %ecx
40235e:	c3                   	ret
40235f:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
402364:	74 37                	je     0x40239d
402366:	8b 46 18             	mov    0x18(%esi),%eax
402369:	8b 4e 24             	mov    0x24(%esi),%ecx
40236c:	50                   	push   %eax
40236d:	8b 46 28             	mov    0x28(%esi),%eax
402370:	99                   	cltd
402371:	52                   	push   %edx
402372:	8b 53 28             	mov    0x28(%ebx),%edx
402375:	50                   	push   %eax
402376:	6a 00                	push   $0x0
402378:	51                   	push   %ecx
402379:	6a 01                	push   $0x1
40237b:	52                   	push   %edx
40237c:	e8 2f 37 00 00       	call   0x405ab0
402381:	83 c4 1c             	add    $0x1c,%esp
402384:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
402388:	75 03                	jne    0x40238d
40238a:	89 46 10             	mov    %eax,0x10(%esi)
40238d:	8b 76 2c             	mov    0x2c(%esi),%esi
402390:	85 f6                	test   %esi,%esi
402392:	74 09                	je     0x40239d
402394:	6a 00                	push   $0x0
402396:	56                   	push   %esi
402397:	ff 15 40 34 47 00    	call   *0x473440
40239d:	5f                   	pop    %edi
40239e:	5e                   	pop    %esi
40239f:	b8 01 00 00 00       	mov    $0x1,%eax
4023a4:	5b                   	pop    %ebx
4023a5:	59                   	pop    %ecx
4023a6:	c3                   	ret
4023a7:	5f                   	pop    %edi
4023a8:	c7 46 10 57 00 00 00 	movl   $0x57,0x10(%esi)
4023af:	5e                   	pop    %esi
4023b0:	33 c0                	xor    %eax,%eax
4023b2:	5b                   	pop    %ebx
4023b3:	59                   	pop    %ecx
4023b4:	c3                   	ret
4023b5:	8d 49 00             	lea    0x0(%ecx),%ecx
4023b8:	6d                   	insl   (%dx),%es:(%edi)
4023b9:	22 40 00             	and    0x0(%eax),%al
4023bc:	a6                   	cmpsb  %es:(%edi),%ds:(%esi)
4023bd:	22 40 00             	and    0x0(%eax),%al
4023c0:	86 22                	xchg   %ah,(%edx)
4023c2:	40                   	inc    %eax
4023c3:	00 ad 22 40 00 0d    	add    %ch,0xd004022(%ebp)
4023c9:	23 40 00             	and    0x0(%eax),%eax
4023cc:	0d 23 40 00 ed       	or     $0xed004023,%eax
4023d1:	22 40 00             	and    0x0(%eax),%al
4023d4:	5f                   	pop    %edi
4023d5:	23 40 00             	and    0x0(%eax),%eax
4023d8:	cc                   	int3
4023d9:	cc                   	int3
4023da:	cc                   	int3
4023db:	cc                   	int3
4023dc:	cc                   	int3
4023dd:	cc                   	int3
4023de:	cc                   	int3
4023df:	cc                   	int3
4023e0:	56                   	push   %esi
4023e1:	8b 74 24 08          	mov    0x8(%esp),%esi
4023e5:	56                   	push   %esi
4023e6:	68 10 22 40 00       	push   $0x402210
4023eb:	e8 d0 f7 ff ff       	call   0x401bc0
4023f0:	83 c4 08             	add    $0x8,%esp
4023f3:	85 c0                	test   %eax,%eax
4023f5:	75 03                	jne    0x4023fa
4023f7:	8b 46 10             	mov    0x10(%esi),%eax
4023fa:	5e                   	pop    %esi
4023fb:	c3                   	ret
4023fc:	cc                   	int3
4023fd:	cc                   	int3
4023fe:	cc                   	int3
4023ff:	cc                   	int3
402400:	83 ec 30             	sub    $0x30,%esp
402403:	6a 30                	push   $0x30
402405:	8d 44 24 04          	lea    0x4(%esp),%eax
402409:	6a 00                	push   $0x0
40240b:	50                   	push   %eax
40240c:	e8 5f e7 02 00       	call   0x430b70
402411:	8b 4c 24 40          	mov    0x40(%esp),%ecx
402415:	8d 54 24 0c          	lea    0xc(%esp),%edx
402419:	52                   	push   %edx
40241a:	68 10 22 40 00       	push   $0x402210
40241f:	89 4c 24 14          	mov    %ecx,0x14(%esp)
402423:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
40242a:	00
40242b:	e8 90 f7 ff ff       	call   0x401bc0
402430:	83 c4 14             	add    $0x14,%esp
402433:	85 c0                	test   %eax,%eax
402435:	75 14                	jne    0x40244b
402437:	8b 44 24 10          	mov    0x10(%esp),%eax
40243b:	85 c0                	test   %eax,%eax
40243d:	75 0c                	jne    0x40244b
40243f:	8b 44 24 38          	mov    0x38(%esp),%eax
402443:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
402447:	89 08                	mov    %ecx,(%eax)
402449:	33 c0                	xor    %eax,%eax
40244b:	83 c4 30             	add    $0x30,%esp
40244e:	c3                   	ret
40244f:	cc                   	int3
402450:	83 ec 30             	sub    $0x30,%esp
402453:	6a 30                	push   $0x30
402455:	8d 44 24 04          	lea    0x4(%esp),%eax
402459:	6a 00                	push   $0x0
40245b:	50                   	push   %eax
40245c:	e8 0f e7 02 00       	call   0x430b70
402461:	8b 4c 24 40          	mov    0x40(%esp),%ecx
402465:	8b 54 24 44          	mov    0x44(%esp),%edx
402469:	8d 44 24 0c          	lea    0xc(%esp),%eax
40246d:	50                   	push   %eax
40246e:	68 10 22 40 00       	push   $0x402210
402473:	89 4c 24 14          	mov    %ecx,0x14(%esp)
402477:	c7 44 24 34 04 00 00 	movl   $0x4,0x34(%esp)
40247e:	00
40247f:	89 54 24 2c          	mov    %edx,0x2c(%esp)
402483:	e8 38 f7 ff ff       	call   0x401bc0
402488:	83 c4 14             	add    $0x14,%esp
40248b:	85 c0                	test   %eax,%eax
40248d:	75 04                	jne    0x402493
40248f:	8b 44 24 10          	mov    0x10(%esp),%eax
402493:	83 c4 30             	add    $0x30,%esp
402496:	c3                   	ret
402497:	cc                   	int3
402498:	cc                   	int3
402499:	cc                   	int3
40249a:	cc                   	int3
40249b:	cc                   	int3
40249c:	cc                   	int3
40249d:	cc                   	int3
40249e:	cc                   	int3
40249f:	cc                   	int3
4024a0:	83 ec 30             	sub    $0x30,%esp
4024a3:	6a 30                	push   $0x30
4024a5:	8d 44 24 04          	lea    0x4(%esp),%eax
4024a9:	6a 00                	push   $0x0
4024ab:	50                   	push   %eax
4024ac:	e8 bf e6 02 00       	call   0x430b70
4024b1:	8b 4c 24 44          	mov    0x44(%esp),%ecx
4024b5:	8b 54 24 40          	mov    0x40(%esp),%edx
4024b9:	8d 44 24 0c          	lea    0xc(%esp),%eax
4024bd:	50                   	push   %eax
4024be:	68 10 22 40 00       	push   $0x402210
4024c3:	c7 44 24 34 03 00 00 	movl   $0x3,0x34(%esp)
4024ca:	00
4024cb:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
4024cf:	89 54 24 30          	mov    %edx,0x30(%esp)
4024d3:	e8 e8 f6 ff ff       	call   0x401bc0
4024d8:	83 c4 14             	add    $0x14,%esp
4024db:	85 c0                	test   %eax,%eax
4024dd:	75 04                	jne    0x4024e3
4024df:	8b 44 24 10          	mov    0x10(%esp),%eax
4024e3:	83 c4 30             	add    $0x30,%esp
4024e6:	c3                   	ret
4024e7:	cc                   	int3
4024e8:	cc                   	int3
4024e9:	cc                   	int3
4024ea:	cc                   	int3
4024eb:	cc                   	int3
4024ec:	cc                   	int3
4024ed:	cc                   	int3
4024ee:	cc                   	int3
4024ef:	cc                   	int3
4024f0:	83 ec 30             	sub    $0x30,%esp
4024f3:	6a 30                	push   $0x30
4024f5:	8d 44 24 04          	lea    0x4(%esp),%eax
4024f9:	6a 00                	push   $0x0
4024fb:	50                   	push   %eax
4024fc:	e8 6f e6 02 00       	call   0x430b70
402501:	8b 4c 24 40          	mov    0x40(%esp),%ecx
402505:	8d 54 24 0c          	lea    0xc(%esp),%edx
402509:	52                   	push   %edx
40250a:	68 10 22 40 00       	push   $0x402210
40250f:	c7 44 24 34 02 00 00 	movl   $0x2,0x34(%esp)
402516:	00
402517:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
40251b:	e8 a0 f6 ff ff       	call   0x401bc0
402520:	83 c4 14             	add    $0x14,%esp
402523:	85 c0                	test   %eax,%eax
402525:	75 04                	jne    0x40252b
402527:	8b 44 24 10          	mov    0x10(%esp),%eax
40252b:	83 c4 30             	add    $0x30,%esp
40252e:	c3                   	ret
40252f:	cc                   	int3
402530:	83 ec 30             	sub    $0x30,%esp
402533:	6a 30                	push   $0x30
402535:	8d 44 24 04          	lea    0x4(%esp),%eax
402539:	6a 00                	push   $0x0
40253b:	50                   	push   %eax
40253c:	e8 2f e6 02 00       	call   0x430b70
402541:	8b 4c 24 40          	mov    0x40(%esp),%ecx
402545:	8d 54 24 0c          	lea    0xc(%esp),%edx
402549:	52                   	push   %edx
40254a:	68 10 22 40 00       	push   $0x402210
40254f:	c7 44 24 34 05 00 00 	movl   $0x5,0x34(%esp)
402556:	00
402557:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
40255b:	e8 60 f6 ff ff       	call   0x401bc0
402560:	83 c4 14             	add    $0x14,%esp
402563:	85 c0                	test   %eax,%eax
402565:	75 04                	jne    0x40256b
402567:	8b 44 24 10          	mov    0x10(%esp),%eax
40256b:	83 c4 30             	add    $0x30,%esp
40256e:	c3                   	ret