4022be:	89 85 e4 fb ff ff    	mov    %eax,-0x41c(%ebp)
4022c4:	8b 8d fc fb ff ff    	mov    -0x404(%ebp),%ecx
4022ca:	8d b5 e0 fb ff ff    	lea    -0x420(%ebp),%esi
4022d0:	8d 79 f8             	lea    -0x8(%ecx),%edi
4022d3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4022d4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4022d5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4022d6:	33 f6                	xor    %esi,%esi
4022d8:	39 71 fc             	cmp    %esi,-0x4(%ecx)
4022db:	75 04                	jne    0x4022e1
4022dd:	39 31                	cmp    %esi,(%ecx)
4022df:	75 0b                	jne    0x4022ec
4022e1:	33 c0                	xor    %eax,%eax
4022e3:	40                   	inc    %eax
4022e4:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
4022ea:	eb 06                	jmp    0x4022f2
4022ec:	8b 85 f0 fb ff ff    	mov    -0x410(%ebp),%eax
4022f2:	8b 95 f8 fb ff ff    	mov    -0x408(%ebp),%edx
4022f8:	83 c1 0c             	add    $0xc,%ecx
4022fb:	42                   	inc    %edx
4022fc:	89 8d fc fb ff ff    	mov    %ecx,-0x404(%ebp)
402302:	89 95 f8 fb ff ff    	mov    %edx,-0x408(%ebp)
402308:	3b 95 04 fc ff ff    	cmp    -0x3fc(%ebp),%edx
40230e:	0f 8c 1d ff ff ff    	jl     0x402231
402314:	8b 9d 10 fc ff ff    	mov    -0x3f0(%ebp),%ebx
40231a:	85 c0                	test   %eax,%eax
40231c:	0f 84 f4 00 00 00    	je     0x402416
402322:	8b 8d f4 fb ff ff    	mov    -0x40c(%ebp),%ecx
402328:	8b c1                	mov    %ecx,%eax
40232a:	f7 d8                	neg    %eax
40232c:	56                   	push   %esi
40232d:	ff b5 0c fc ff ff    	push   -0x3f4(%ebp)
402333:	1b c0                	sbb    %eax,%eax
402335:	83 e0 fc             	and    $0xfffffffc,%eax
402338:	83 c0 04             	add    $0x4,%eax
40233b:	0b 85 d8 fb ff ff    	or     -0x428(%ebp),%eax
402341:	f7 d9                	neg    %ecx
402343:	56                   	push   %esi
402344:	50                   	push   %eax
402345:	56                   	push   %esi
402346:	1b c9                	sbb    %ecx,%ecx
402348:	8d 85 40 fe ff ff    	lea    -0x1c0(%ebp),%eax
40234e:	56                   	push   %esi
40234f:	23 c8                	and    %eax,%ecx
402351:	51                   	push   %ecx
402352:	ff 15 08 81 40 00    	call   *0x408108
402358:	8b f0                	mov    %eax,%esi
40235a:	83 fe ff             	cmp    $0xffffffff,%esi
40235d:	0f 84 4f 02 00 00    	je     0x4025b2
402363:	8b 85 08 fc ff ff    	mov    -0x3f8(%ebp),%eax
402369:	03 85 ec fb ff ff    	add    -0x414(%ebp),%eax
40236f:	8b 8d 04 fc ff ff    	mov    -0x3fc(%ebp),%ecx
402375:	89 85 fc fb ff ff    	mov    %eax,-0x404(%ebp)
40237b:	3b d9                	cmp    %ecx,%ebx
40237d:	7d 2d                	jge    0x4023ac
40237f:	8b d9                	mov    %ecx,%ebx
402381:	8b f8                	mov    %eax,%edi
402383:	2b 9d 10 fc ff ff    	sub    -0x3f0(%ebp),%ebx
402389:	33 c0                	xor    %eax,%eax
40238b:	39 47 08             	cmp    %eax,0x8(%edi)
40238e:	74 0e                	je     0x40239e
402390:	50                   	push   %eax
402391:	50                   	push   %eax
402392:	50                   	push   %eax
402393:	ff 37                	push   (%edi)
402395:	56                   	push   %esi
402396:	ff 15 1c 81 40 00    	call   *0x40811c
40239c:	33 c0                	xor    %eax,%eax
40239e:	83 c7 0c             	add    $0xc,%edi
4023a1:	83 eb 01             	sub    $0x1,%ebx
4023a4:	75 e5                	jne    0x40238b
4023a6:	8b 9d 10 fc ff ff    	mov    -0x3f0(%ebp),%ebx
4023ac:	8d 85 18 fc ff ff    	lea    -0x3e8(%ebp),%eax
4023b2:	c7 85 18 fc ff ff 26 	movl   $0x226,-0x3e8(%ebp)
4023b9:	02 00 00
4023bc:	50                   	push   %eax
4023bd:	56                   	push   %esi
4023be:	ff 15 0c 81 40 00    	call   *0x40810c
4023c4:	85 c0                	test   %eax,%eax
4023c6:	0f 84 e6 01 00 00    	je     0x4025b2
4023cc:	8b bd 00 fc ff ff    	mov    -0x400(%ebp),%edi
4023d2:	8d 85 50 fe ff ff    	lea    -0x1b0(%ebp),%eax
4023d8:	f7 df                	neg    %edi
4023da:	c7 85 50 fe ff ff 1c 	movl   $0x1c,-0x1b0(%ebp)
4023e1:	00 00 00
4023e4:	50                   	push   %eax
4023e5:	1b ff                	sbb    %edi,%edi
4023e7:	33 c9                	xor    %ecx,%ecx
4023e9:	f7 d7                	not    %edi
4023eb:	89 8d 14 fc ff ff    	mov    %ecx,-0x3ec(%ebp)
4023f1:	23 bd f0 fb ff ff    	and    -0x410(%ebp),%edi
4023f7:	51                   	push   %ecx
4023f8:	56                   	push   %esi
4023f9:	89 bd 00 fc ff ff    	mov    %edi,-0x400(%ebp)
4023ff:	ff 15 14 81 40 00    	call   *0x408114
402405:	e9 98 01 00 00       	jmp    0x4025a2
40240a:	89 85 08 fc ff ff    	mov    %eax,-0x3f8(%ebp)
402410:	89 b5 f0 fb ff ff    	mov    %esi,-0x410(%ebp)
402416:	83 bd 00 fc ff ff 00 	cmpl   $0x0,-0x400(%ebp)
40241d:	0f 85 ff fe ff ff    	jne    0x402322
402423:	8b 85 f4 fb ff ff    	mov    -0x40c(%ebp),%eax
402429:	8d 8d 40 fe ff ff    	lea    -0x1c0(%ebp),%ecx
40242f:	56                   	push   %esi
402430:	ff b5 0c fc ff ff    	push   -0x3f4(%ebp)
402436:	f7 d8                	neg    %eax
402438:	56                   	push   %esi
402439:	1b c0                	sbb    %eax,%eax
40243b:	23 c1                	and    %ecx,%eax
40243d:	50                   	push   %eax
40243e:	ff 15 10 81 40 00    	call   *0x408110
402444:	e9 0f ff ff ff       	jmp    0x402358
402449:	85 ff                	test   %edi,%edi
40244b:	0f 84 01 01 00 00    	je     0x402552
402451:	8b 85 04 fc ff ff    	mov    -0x3fc(%ebp),%eax
402457:	33 c9                	xor    %ecx,%ecx
402459:	89 9d f8 fb ff ff    	mov    %ebx,-0x408(%ebp)
40245f:	8b d9                	mov    %ecx,%ebx
402461:	39 85 10 fc ff ff    	cmp    %eax,-0x3f0(%ebp)
402467:	0f 8d 0d 01 00 00    	jge    0x40257a
40246d:	8b bd fc fb ff ff    	mov    -0x404(%ebp),%edi
402473:	eb 02                	jmp    0x402477
402475:	33 c9                	xor    %ecx,%ecx
402477:	85 db                	test   %ebx,%ebx
402479:	0f 85 d3 00 00 00    	jne    0x402552
40247f:	ff b5 2c fc ff ff    	push   -0x3d4(%ebp)
402485:	8d 85 6c fe ff ff    	lea    -0x194(%ebp),%eax
40248b:	89 8d 08 fc ff ff    	mov    %ecx,-0x3f8(%ebp)
402491:	51                   	push   %ecx
402492:	68 c8 00 00 00       	push   $0xc8
402497:	50                   	push   %eax
402498:	ff b5 64 fe ff ff    	push   -0x19c(%ebp)
40249e:	89 8d 0c fc ff ff    	mov    %ecx,-0x3f4(%ebp)
4024a4:	ff 15 04 81 40 00    	call   *0x408104
4024aa:	85 c0                	test   %eax,%eax
4024ac:	74 09                	je     0x4024b7
4024ae:	33 c0                	xor    %eax,%eax
4024b0:	66 89 85 6c fe ff ff 	mov    %ax,-0x194(%ebp)
4024b7:	33 c0                	xor    %eax,%eax
4024b9:	39 47 08             	cmp    %eax,0x8(%edi)
4024bc:	74 0f                	je     0x4024cd
4024be:	8b d7                	mov    %edi,%edx
4024c0:	8d 8d 6c fe ff ff    	lea    -0x194(%ebp),%ecx
4024c6:	e8 54 fa ff ff       	call   0x401f1f
4024cb:	eb 48                	jmp    0x402515
4024cd:	6a 01                	push   $0x1
4024cf:	8d 95 50 fe ff ff    	lea    -0x1b0(%ebp),%edx
4024d5:	8b ce                	mov    %esi,%ecx
4024d7:	e8 d2 f8 ff ff       	call   0x401dae
4024dc:	6a 02                	push   $0x2
4024de:	8d 95 50 fe ff ff    	lea    -0x1b0(%ebp),%edx
4024e4:	89 85 08 fc ff ff    	mov    %eax,-0x3f8(%ebp)
4024ea:	8b ce                	mov    %esi,%ecx
4024ec:	e8 bd f8 ff ff       	call   0x401dae
4024f1:	8b 8d 08 fc ff ff    	mov    -0x3f8(%ebp),%ecx
4024f7:	8b d7                	mov    %edi,%edx
4024f9:	89 85 0c fc ff ff    	mov    %eax,-0x3f4(%ebp)
4024ff:	e8 a7 fb ff ff       	call   0x4020ab
402504:	85 c0                	test   %eax,%eax
402506:	75 11                	jne    0x402519
402508:	8b 8d 0c fc ff ff    	mov    -0x3f4(%ebp),%ecx
40250e:	8b d7                	mov    %edi,%edx
402510:	e8 96 fb ff ff       	call   0x4020ab
402515:	85 c0                	test   %eax,%eax
402517:	74 03                	je     0x40251c
402519:	33 db                	xor    %ebx,%ebx
40251b:	43                   	inc    %ebx
40251c:	8b 8d 08 fc ff ff    	mov    -0x3f8(%ebp),%ecx
402522:	e8 5f f8 ff ff       	call   0x401d86
402527:	8b 8d 0c fc ff ff    	mov    -0x3f4(%ebp),%ecx
40252d:	e8 54 f8 ff ff       	call   0x401d86
402532:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
402538:	83 c7 0c             	add    $0xc,%edi
40253b:	40                   	inc    %eax
40253c:	89 85 f8 fb ff ff    	mov    %eax,-0x408(%ebp)
402542:	3b 85 04 fc ff ff    	cmp    -0x3fc(%ebp),%eax
402548:	0f 8c 27 ff ff ff    	jl     0x402475
40254e:	85 db                	test   %ebx,%ebx
402550:	74 28                	je     0x40257a
402552:	ff b5 d4 fb ff ff    	push   -0x42c(%ebp)
402558:	8b 9d d0 fb ff ff    	mov    -0x430(%ebp),%ebx
40255e:	8d 85 50 fe ff ff    	lea    -0x1b0(%ebp),%eax
402564:	ff b5 14 fc ff ff    	push   -0x3ec(%ebp)
40256a:	8b cb                	mov    %ebx,%ecx
40256c:	50                   	push   %eax
40256d:	56                   	push   %esi
40256e:	ff 15 ec 81 40 00    	call   *0x4081ec
402574:	ff d3                	call   *%ebx
402576:	85 c0                	test   %eax,%eax
402578:	75 32                	jne    0x4025ac
40257a:	8b 85 14 fc ff ff    	mov    -0x3ec(%ebp),%eax
402580:	8d 8d 50 fe ff ff    	lea    -0x1b0(%ebp),%ecx
402586:	40                   	inc    %eax
402587:	51                   	push   %ecx
402588:	50                   	push   %eax
402589:	56                   	push   %esi
40258a:	89 85 14 fc ff ff    	mov    %eax,-0x3ec(%ebp)
402590:	ff 15 14 81 40 00    	call   *0x408114
402596:	8b 9d 10 fc ff ff    	mov    -0x3f0(%ebp),%ebx
40259c:	8b bd 00 fc ff ff    	mov    -0x400(%ebp),%edi
4025a2:	85 c0                	test   %eax,%eax
4025a4:	0f 85 9f fe ff ff    	jne    0x402449
4025aa:	33 c0                	xor    %eax,%eax
4025ac:	89 85 14 fc ff ff    	mov    %eax,-0x3ec(%ebp)
4025b2:	ff b5 ec fb ff ff    	push   -0x414(%ebp)
4025b8:	e8 30 40 00 00       	call   0x4065ed
4025bd:	59                   	pop    %ecx
4025be:	83 fe ff             	cmp    $0xffffffff,%esi
4025c1:	74 07                	je     0x4025ca
4025c3:	56                   	push   %esi
4025c4:	ff 15 fc 80 40 00    	call   *0x4080fc
4025ca:	8b 85 14 fc ff ff    	mov    -0x3ec(%ebp),%eax
4025d0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4025d3:	5f                   	pop    %edi
4025d4:	5e                   	pop    %esi
4025d5:	33 cd                	xor    %ebp,%ecx
4025d7:	5b                   	pop    %ebx
4025d8:	e8 03 43 00 00       	call   0x4068e0
4025dd:	c9                   	leave
4025de:	c2 14 00             	ret    $0x14
4025e1:	cc                   	int3
4025e2:	cc                   	int3
4025e3:	cc                   	int3
4025e4:	cc                   	int3
4025e5:	cc                   	int3
4025e6:	cc                   	int3
4025e7:	8b ff                	mov    %edi,%edi
4025e9:	55                   	push   %ebp
4025ea:	8b ec                	mov    %esp,%ebp
4025ec:	83 ec 18             	sub    $0x18,%esp
4025ef:	53                   	push   %ebx
4025f0:	56                   	push   %esi
4025f1:	57                   	push   %edi
4025f2:	8b 7d 0c             	mov    0xc(%ebp),%edi
4025f5:	33 c0                	xor    %eax,%eax
4025f7:	6a 5c                	push   $0x5c
4025f9:	33 f6                	xor    %esi,%esi
4025fb:	89 45 f8             	mov    %eax,-0x8(%ebp)
4025fe:	46                   	inc    %esi
4025ff:	89 45 f0             	mov    %eax,-0x10(%ebp)
402602:	ff 37                	push   (%edi)
402604:	89 45 fc             	mov    %eax,-0x4(%ebp)
402607:	ff 15 c4 81 40 00    	call   *0x4081c4
40260d:	59                   	pop    %ecx
40260e:	59                   	pop    %ecx
40260f:	85 c0                	test   %eax,%eax
402611:	75 07                	jne    0x40261a
402613:	8b 1f                	mov    (%edi),%ebx
402615:	89 5d f4             	mov    %ebx,-0xc(%ebp)
402618:	eb 0c                	jmp    0x402626
40261a:	50                   	push   %eax
40261b:	ff 15 5c 81 40 00    	call   *0x40815c
402621:	8b d8                	mov    %eax,%ebx
402623:	89 45 f4             	mov    %eax,-0xc(%ebp)
402626:	8b 55 08             	mov    0x8(%ebp),%edx
402629:	c7 45 ec 2d 00 00 00 	movl   $0x2d,-0x14(%ebp)
402630:	c7 45 e8 2f 00 00 00 	movl   $0x2f,-0x18(%ebp)
402637:	83 fa 01             	cmp    $0x1,%edx
40263a:	7e 74                	jle    0x4026b0
40263c:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40263f:	8b 0c b7             	mov    (%edi,%esi,4),%ecx
402642:	0f b7 01             	movzwl (%ecx),%eax
402645:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
402649:	74 06                	je     0x402651
40264b:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
40264f:	75 59                	jne    0x4026aa
402651:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
402655:	83 f8 6d             	cmp    $0x6d,%eax
402658:	74 37                	je     0x402691
40265a:	83 f8 4d             	cmp    $0x4d,%eax
40265d:	74 32                	je     0x402691
40265f:	83 f8 72             	cmp    $0x72,%eax
402662:	74 1c                	je     0x402680
402664:	83 f8 52             	cmp    $0x52,%eax
402667:	74 17                	je     0x402680
402669:	83 f8 66             	cmp    $0x66,%eax
40266c:	74 05                	je     0x402673
40266e:	83 f8 46             	cmp    $0x46,%eax
402671:	75 37                	jne    0x4026aa
402673:	33 c0                	xor    %eax,%eax
402675:	66 39 41 04          	cmp    %ax,0x4(%ecx)
402679:	75 2f                	jne    0x4026aa
40267b:	83 cb 01             	or     $0x1,%ebx
40267e:	eb 25                	jmp    0x4026a5
402680:	33 c0                	xor    %eax,%eax
402682:	66 39 41 04          	cmp    %ax,0x4(%ecx)
402686:	75 22                	jne    0x4026aa
402688:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
40268f:	eb 14                	jmp    0x4026a5
402691:	66 83 79 04 3a       	cmpw   $0x3a,0x4(%ecx)
402696:	75 12                	jne    0x4026aa
402698:	83 c1 06             	add    $0x6,%ecx
40269b:	33 c0                	xor    %eax,%eax
40269d:	66 39 01             	cmp    %ax,(%ecx)
4026a0:	74 08                	je     0x4026aa
4026a2:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4026a5:	46                   	inc    %esi
4026a6:	3b d6                	cmp    %esi,%edx
4026a8:	7f 95                	jg     0x40263f
4026aa:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4026ad:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4026b0:	8b c2                	mov    %edx,%eax
4026b2:	2b c6                	sub    %esi,%eax
4026b4:	83 f8 01             	cmp    $0x1,%eax
4026b7:	0f 8c d7 00 00 00    	jl     0x402794
4026bd:	8b 04 b7             	mov    (%edi,%esi,4),%eax
4026c0:	6a 2d                	push   $0x2d
4026c2:	5a                   	pop    %edx
4026c3:	89 45 f4             	mov    %eax,-0xc(%ebp)
4026c6:	0f b7 08             	movzwl (%eax),%ecx
4026c9:	66 3b ca             	cmp    %dx,%cx
4026cc:	74 08                	je     0x4026d6
4026ce:	6a 2f                	push   $0x2f
4026d0:	5a                   	pop    %edx
4026d1:	66 3b ca             	cmp    %dx,%cx
4026d4:	75 0a                	jne    0x4026e0
4026d6:	50                   	push   %eax
4026d7:	ff 15 5c 81 40 00    	call   *0x40815c
4026dd:	89 45 f4             	mov    %eax,-0xc(%ebp)
4026e0:	8b 0d 00 70 40 00    	mov    0x407000,%ecx
4026e6:	46                   	inc    %esi
4026e7:	33 ff                	xor    %edi,%edi
4026e9:	85 c9                	test   %ecx,%ecx
4026eb:	0f 84 a3 00 00 00    	je     0x402794
4026f1:	51                   	push   %ecx
4026f2:	50                   	push   %eax
4026f3:	ff 15 dc 81 40 00    	call   *0x4081dc
4026f9:	59                   	pop    %ecx
4026fa:	59                   	pop    %ecx
4026fb:	85 c0                	test   %eax,%eax
4026fd:	75 07                	jne    0x402706
4026ff:	8b 4d 08             	mov    0x8(%ebp),%ecx
402702:	3b ce                	cmp    %esi,%ecx
402704:	7d 15                	jge    0x40271b
402706:	47                   	inc    %edi
402707:	8b c7                	mov    %edi,%eax
402709:	c1 e0 04             	shl    $0x4,%eax
40270c:	8b 88 00 70 40 00    	mov    0x407000(%eax),%ecx
402712:	85 c9                	test   %ecx,%ecx
402714:	74 7e                	je     0x402794
402716:	8b 45 f4             	mov    -0xc(%ebp),%eax
402719:	eb d6                	jmp    0x4026f1
40271b:	c1 e7 04             	shl    $0x4,%edi
40271e:	8b 97 04 70 40 00    	mov    0x407004(%edi),%edx
402724:	89 55 f4             	mov    %edx,-0xc(%ebp)
402727:	3b ce                	cmp    %esi,%ecx
402729:	75 06                	jne    0x402731
40272b:	33 c0                	xor    %eax,%eax
40272d:	50                   	push   %eax
40272e:	50                   	push   %eax
40272f:	eb 0a                	jmp    0x40273b