40d228:	89 58 10             	mov    %ebx,0x10(%eax)
40d22b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d22e:	3b f7                	cmp    %edi,%esi
40d230:	7c d1                	jl     0x40d203
40d232:	8b 7d ec             	mov    -0x14(%ebp),%edi
40d235:	33 f6                	xor    %esi,%esi
40d237:	5b                   	pop    %ebx
40d238:	8b 0d 08 0a 42 00    	mov    0x420a08,%ecx
40d23e:	8d 49 70             	lea    0x70(%ecx),%ecx
40d241:	e8 7b 6c 00 00       	call   0x413ec1
40d246:	85 c0                	test   %eax,%eax
40d248:	75 0d                	jne    0x40d257
40d24a:	68 00 01 00 00       	push   $0x100
40d24f:	e8 ff 13 00 00       	call   0x40e653
40d254:	59                   	pop    %ecx
40d255:	eb 0f                	jmp    0x40d266
40d257:	e8 8f 73 00 00       	call   0x4145eb
40d25c:	8b cf                	mov    %edi,%ecx
40d25e:	ff 15 94 33 42 00    	call   *0x423394
40d264:	8b f0                	mov    %eax,%esi
40d266:	5f                   	pop    %edi
40d267:	8b c6                	mov    %esi,%eax
40d269:	5e                   	pop    %esi
40d26a:	c9                   	leave
40d26b:	c3                   	ret
40d26c:	cc                   	int3
40d26d:	cc                   	int3
40d26e:	cc                   	int3
40d26f:	cc                   	int3
40d270:	8b ff                	mov    %edi,%edi
40d272:	53                   	push   %ebx
40d273:	56                   	push   %esi
40d274:	57                   	push   %edi
40d275:	33 f6                	xor    %esi,%esi
40d277:	8b f9                	mov    %ecx,%edi
40d279:	56                   	push   %esi
40d27a:	56                   	push   %esi
40d27b:	68 04 10 00 00       	push   $0x1004
40d280:	ff b7 08 01 00 00    	push   0x108(%edi)
40d286:	ff 15 40 34 42 00    	call   *0x423440
40d28c:	8b d8                	mov    %eax,%ebx
40d28e:	85 db                	test   %ebx,%ebx
40d290:	7e 14                	jle    0x40d2a6
40d292:	6a 01                	push   $0x1
40d294:	56                   	push   %esi
40d295:	8d 8f e8 00 00 00    	lea    0xe8(%edi),%ecx
40d29b:	ff 15 1c 31 42 00    	call   *0x42311c
40d2a1:	46                   	inc    %esi
40d2a2:	3b f3                	cmp    %ebx,%esi
40d2a4:	7c ec                	jl     0x40d292
40d2a6:	5f                   	pop    %edi
40d2a7:	5e                   	pop    %esi
40d2a8:	5b                   	pop    %ebx
40d2a9:	c3                   	ret
40d2aa:	cc                   	int3
40d2ab:	cc                   	int3
40d2ac:	cc                   	int3
40d2ad:	cc                   	int3
40d2ae:	cc                   	int3
40d2af:	cc                   	int3
40d2b0:	8b ff                	mov    %edi,%edi
40d2b2:	53                   	push   %ebx
40d2b3:	56                   	push   %esi
40d2b4:	57                   	push   %edi
40d2b5:	6a 00                	push   $0x0
40d2b7:	8b f9                	mov    %ecx,%edi
40d2b9:	6a 00                	push   $0x0
40d2bb:	68 04 10 00 00       	push   $0x1004
40d2c0:	ff b7 08 01 00 00    	push   0x108(%edi)
40d2c6:	ff 15 40 34 42 00    	call   *0x423440
40d2cc:	8b d8                	mov    %eax,%ebx
40d2ce:	33 f6                	xor    %esi,%esi
40d2d0:	85 db                	test   %ebx,%ebx
40d2d2:	7e 14                	jle    0x40d2e8
40d2d4:	6a 00                	push   $0x0
40d2d6:	56                   	push   %esi
40d2d7:	8d 8f e8 00 00 00    	lea    0xe8(%edi),%ecx
40d2dd:	ff 15 1c 31 42 00    	call   *0x42311c
40d2e3:	46                   	inc    %esi
40d2e4:	3b f3                	cmp    %ebx,%esi
40d2e6:	7c ec                	jl     0x40d2d4
40d2e8:	5f                   	pop    %edi
40d2e9:	5e                   	pop    %esi
40d2ea:	5b                   	pop    %ebx
40d2eb:	c3                   	ret
40d2ec:	cc                   	int3
40d2ed:	cc                   	int3
40d2ee:	cc                   	int3
40d2ef:	cc                   	int3
40d2f0:	8b ff                	mov    %edi,%edi
40d2f2:	53                   	push   %ebx
40d2f3:	56                   	push   %esi
40d2f4:	57                   	push   %edi
40d2f5:	6a 00                	push   $0x0
40d2f7:	8b f9                	mov    %ecx,%edi
40d2f9:	6a 00                	push   $0x0
40d2fb:	68 04 10 00 00       	push   $0x1004
40d300:	ff b7 08 01 00 00    	push   0x108(%edi)
40d306:	ff 15 40 34 42 00    	call   *0x423440
40d30c:	8b d8                	mov    %eax,%ebx
40d30e:	33 f6                	xor    %esi,%esi
40d310:	85 db                	test   %ebx,%ebx
40d312:	7e 27                	jle    0x40d33b
40d314:	81 c7 e8 00 00 00    	add    $0xe8,%edi
40d31a:	56                   	push   %esi
40d31b:	8b cf                	mov    %edi,%ecx
40d31d:	ff 15 20 31 42 00    	call   *0x423120
40d323:	8b cf                	mov    %edi,%ecx
40d325:	85 c0                	test   %eax,%eax
40d327:	74 04                	je     0x40d32d
40d329:	6a 00                	push   $0x0
40d32b:	eb 02                	jmp    0x40d32f
40d32d:	6a 01                	push   $0x1
40d32f:	56                   	push   %esi
40d330:	ff 15 1c 31 42 00    	call   *0x42311c
40d336:	46                   	inc    %esi
40d337:	3b f3                	cmp    %ebx,%esi
40d339:	7c df                	jl     0x40d31a
40d33b:	5f                   	pop    %edi
40d33c:	5e                   	pop    %esi
40d33d:	5b                   	pop    %ebx
40d33e:	c3                   	ret
40d33f:	cc                   	int3
40d340:	68 80 07 00 00       	push   $0x780
40d345:	b8 ba d0 41 00       	mov    $0x41d0ba,%eax
40d34a:	e8 1c f1 00 00       	call   0x41c46b
40d34f:	89 8d 90 f8 ff ff    	mov    %ecx,-0x770(%ebp)
40d355:	83 a5 84 f8 ff ff 00 	andl   $0x0,-0x77c(%ebp)
40d35c:	8d 8d 9c f8 ff ff    	lea    -0x764(%ebp),%ecx
40d362:	33 f6                	xor    %esi,%esi
40d364:	21 b5 80 f8 ff ff    	and    %esi,-0x780(%ebp)
40d36a:	89 b5 88 f8 ff ff    	mov    %esi,-0x778(%ebp)
40d370:	ff 15 40 32 42 00    	call   *0x423240
40d376:	21 75 fc             	and    %esi,-0x4(%ebp)
40d379:	8d 8d 98 f8 ff ff    	lea    -0x768(%ebp),%ecx
40d37f:	ff 15 40 32 42 00    	call   *0x423240
40d385:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40d389:	8d 8d 94 f8 ff ff    	lea    -0x76c(%ebp),%ecx
40d38f:	ff 15 40 32 42 00    	call   *0x423240
40d395:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40d399:	8d 95 94 f8 ff ff    	lea    -0x76c(%ebp),%edx
40d39f:	b9 65 01 00 00       	mov    $0x165,%ecx
40d3a4:	e8 98 14 00 00       	call   0x40e841
40d3a9:	56                   	push   %esi
40d3aa:	ff b5 94 f8 ff ff    	push   -0x76c(%ebp)
40d3b0:	8d 8d a0 f8 ff ff    	lea    -0x760(%ebp),%ecx
40d3b6:	68 04 42 03 00       	push   $0x34204
40d3bb:	56                   	push   %esi
40d3bc:	68 70 46 40 00       	push   $0x404670
40d3c1:	6a 01                	push   $0x1
40d3c3:	ff 15 50 31 42 00    	call   *0x423150
40d3c9:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40d3cd:	bf 00 10 00 00       	mov    $0x1000,%edi
40d3d2:	39 bd 20 f9 ff ff    	cmp    %edi,-0x6e0(%ebp)
40d3d8:	73 4c                	jae    0x40d426
40d3da:	68 00 20 00 00       	push   $0x2000
40d3df:	e8 ed de 00 00       	call   0x41b2d1
40d3e4:	8b f0                	mov    %eax,%esi
40d3e6:	89 b5 88 f8 ff ff    	mov    %esi,-0x778(%ebp)
40d3ec:	59                   	pop    %ecx
40d3ed:	85 f6                	test   %esi,%esi
40d3ef:	75 0c                	jne    0x40d3fd
40d3f1:	6a 68                	push   $0x68
40d3f3:	e8 5b 12 00 00       	call   0x40e653
40d3f8:	e9 45 02 00 00       	jmp    0x40d642
40d3fd:	33 c0                	xor    %eax,%eax
40d3ff:	66 89 06             	mov    %ax,(%esi)
40d402:	8b 85 20 f9 ff ff    	mov    -0x6e0(%ebp),%eax
40d408:	89 85 84 f8 ff ff    	mov    %eax,-0x77c(%ebp)
40d40e:	8b 85 1c f9 ff ff    	mov    -0x6e4(%ebp),%eax
40d414:	89 85 80 f8 ff ff    	mov    %eax,-0x780(%ebp)
40d41a:	89 b5 1c f9 ff ff    	mov    %esi,-0x6e4(%ebp)
40d420:	89 bd 20 f9 ff ff    	mov    %edi,-0x6e0(%ebp)
40d426:	bf 04 01 00 00       	mov    $0x104,%edi
40d42b:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40d431:	57                   	push   %edi
40d432:	50                   	push   %eax
40d433:	6a 66                	push   $0x66
40d435:	ff 35 28 15 42 00    	push   0x421528
40d43b:	ff 15 60 34 42 00    	call   *0x423460
40d441:	85 c0                	test   %eax,%eax
40d443:	74 0c                	je     0x40d451
40d445:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40d44b:	89 85 30 f9 ff ff    	mov    %eax,-0x6d0(%ebp)
40d451:	57                   	push   %edi
40d452:	8d 85 e0 fb ff ff    	lea    -0x420(%ebp),%eax
40d458:	50                   	push   %eax
40d459:	68 78 46 40 00       	push   $0x404678
40d45e:	ff 15 78 30 42 00    	call   *0x423078
40d464:	48                   	dec    %eax
40d465:	3d 03 01 00 00       	cmp    $0x103,%eax
40d46a:	77 0c                	ja     0x40d478
40d46c:	8d 85 e0 fb ff ff    	lea    -0x420(%ebp),%eax
40d472:	89 85 2c f9 ff ff    	mov    %eax,-0x6d4(%ebp)
40d478:	8d 8d a0 f8 ff ff    	lea    -0x760(%ebp),%ecx
40d47e:	ff 15 4c 31 42 00    	call   *0x42314c
40d484:	83 e8 01             	sub    $0x1,%eax
40d487:	74 34                	je     0x40d4bd
40d489:	83 e8 01             	sub    $0x1,%eax
40d48c:	0f 84 8e 01 00 00    	je     0x40d620
40d492:	ff 15 38 30 42 00    	call   *0x423038
40d498:	3d 03 30 00 00       	cmp    $0x3003,%eax
40d49d:	75 0c                	jne    0x40d4ab
40d49f:	68 2b 01 00 00       	push   $0x12b
40d4a4:	e8 aa 11 00 00       	call   0x40e653
40d4a9:	eb 0c                	jmp    0x40d4b7
40d4ab:	50                   	push   %eax
40d4ac:	68 2c 01 00 00       	push   $0x12c
40d4b1:	e8 9d 11 00 00       	call   0x40e653
40d4b6:	59                   	pop    %ecx
40d4b7:	59                   	pop    %ecx
40d4b8:	e9 63 01 00 00       	jmp    0x40d620
40d4bd:	8b 85 1c f9 ff ff    	mov    -0x6e4(%ebp),%eax
40d4c3:	89 85 8c f8 ff ff    	mov    %eax,-0x774(%ebp)
40d4c9:	85 c0                	test   %eax,%eax
40d4cb:	0f 84 4f 01 00 00    	je     0x40d620
40d4d1:	8b b5 90 f8 ff ff    	mov    -0x770(%ebp),%esi
40d4d7:	8d 85 8c f8 ff ff    	lea    -0x774(%ebp),%eax
40d4dd:	50                   	push   %eax
40d4de:	8d 85 90 f8 ff ff    	lea    -0x770(%ebp),%eax
40d4e4:	50                   	push   %eax
40d4e5:	8d 8d a0 f8 ff ff    	lea    -0x760(%ebp),%ecx
40d4eb:	ff 15 40 31 42 00    	call   *0x423140
40d4f1:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40d4f5:	8d 8d 9c f8 ff ff    	lea    -0x764(%ebp),%ecx
40d4fb:	50                   	push   %eax
40d4fc:	ff 15 80 33 42 00    	call   *0x423380
40d502:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40d506:	8d 8d 90 f8 ff ff    	lea    -0x770(%ebp),%ecx
40d50c:	ff 15 44 32 42 00    	call   *0x423244
40d512:	6a 5c                	push   $0x5c
40d514:	8d 8d 9c f8 ff ff    	lea    -0x764(%ebp),%ecx
40d51a:	ff 15 3c 31 42 00    	call   *0x42313c
40d520:	8b c8                	mov    %eax,%ecx
40d522:	85 c9                	test   %ecx,%ecx
40d524:	79 04                	jns    0x40d52a
40d526:	33 c9                	xor    %ecx,%ecx
40d528:	eb 01                	jmp    0x40d52b
40d52a:	41                   	inc    %ecx
40d52b:	8b 85 9c f8 ff ff    	mov    -0x764(%ebp),%eax
40d531:	8b 40 f8             	mov    -0x8(%eax),%eax
40d534:	2b c1                	sub    %ecx,%eax
40d536:	8d 8d 9c f8 ff ff    	lea    -0x764(%ebp),%ecx
40d53c:	50                   	push   %eax
40d53d:	8d 85 7c f8 ff ff    	lea    -0x784(%ebp),%eax
40d543:	50                   	push   %eax
40d544:	ff 15 38 31 42 00    	call   *0x423138
40d54a:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
40d54e:	8d 8d 98 f8 ff ff    	lea    -0x768(%ebp),%ecx
40d554:	50                   	push   %eax
40d555:	ff 15 80 33 42 00    	call   *0x423380
40d55b:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40d55f:	8d 8d 7c f8 ff ff    	lea    -0x784(%ebp),%ecx
40d565:	ff 15 44 32 42 00    	call   *0x423244
40d56b:	8b 0d 08 0a 42 00    	mov    0x420a08,%ecx
40d571:	33 ff                	xor    %edi,%edi
40d573:	8b 85 98 f8 ff ff    	mov    -0x768(%ebp),%eax
40d579:	89 85 78 f8 ff ff    	mov    %eax,-0x788(%ebp)
40d57f:	8b 81 80 00 00 00    	mov    0x80(%ecx),%eax
40d585:	89 85 74 f8 ff ff    	mov    %eax,-0x78c(%ebp)
40d58b:	85 c0                	test   %eax,%eax
40d58d:	7e 33                	jle    0x40d5c2
40d58f:	8d 59 78             	lea    0x78(%ecx),%ebx
40d592:	57                   	push   %edi
40d593:	8b cb                	mov    %ebx,%ecx
40d595:	e8 42 64 00 00       	call   0x4139dc
40d59a:	ff b5 78 f8 ff ff    	push   -0x788(%ebp)
40d5a0:	ff 70 08             	push   0x8(%eax)
40d5a3:	ff 15 64 35 42 00    	call   *0x423564
40d5a9:	59                   	pop    %ecx
40d5aa:	59                   	pop    %ecx
40d5ab:	85 c0                	test   %eax,%eax
40d5ad:	0f 84 e6 00 00 00    	je     0x40d699
40d5b3:	47                   	inc    %edi
40d5b4:	3b bd 74 f8 ff ff    	cmp    -0x78c(%ebp),%edi
40d5ba:	7c d6                	jl     0x40d592
40d5bc:	8b 0d 08 0a 42 00    	mov    0x420a08,%ecx
40d5c2:	ff b5 9c f8 ff ff    	push   -0x764(%ebp)
40d5c8:	83 c1 70             	add    $0x70,%ecx
40d5cb:	e8 af 6a 00 00       	call   0x41407f
40d5d0:	8b f8                	mov    %eax,%edi
40d5d2:	85 ff                	test   %edi,%edi
40d5d4:	78 37                	js     0x40d60d
40d5d6:	8b 0d 08 0a 42 00    	mov    0x420a08,%ecx
40d5dc:	57                   	push   %edi
40d5dd:	83 a1 a4 00 00 00 00 	andl   $0x0,0xa4(%ecx)
40d5e4:	83 c1 78             	add    $0x78,%ecx
40d5e7:	e8 f0 63 00 00       	call   0x4139dc
40d5ec:	50                   	push   %eax
40d5ed:	57                   	push   %edi
40d5ee:	8b ce                	mov    %esi,%ecx
40d5f0:	e8 77 f7 ff ff       	call   0x40cd6c
40d5f5:	85 c0                	test   %eax,%eax
40d5f7:	78 14                	js     0x40d60d
40d5f9:	6a 01                	push   $0x1
40d5fb:	50                   	push   %eax
40d5fc:	68 13 10 00 00       	push   $0x1013
40d601:	ff b6 08 01 00 00    	push   0x108(%esi)
40d607:	ff 15 40 34 42 00    	call   *0x423440
40d60d:	83 bd 8c f8 ff ff 00 	cmpl   $0x0,-0x774(%ebp)
40d614:	0f 85 bd fe ff ff    	jne    0x40d4d7
40d61a:	8b b5 88 f8 ff ff    	mov    -0x778(%ebp),%esi
40d620:	85 f6                	test   %esi,%esi
40d622:	74 1f                	je     0x40d643
40d624:	8b 85 84 f8 ff ff    	mov    -0x77c(%ebp),%eax
40d62a:	89 85 20 f9 ff ff    	mov    %eax,-0x6e0(%ebp)
40d630:	8b 85 80 f8 ff ff    	mov    -0x780(%ebp),%eax
40d636:	56                   	push   %esi
40d637:	89 85 1c f9 ff ff    	mov    %eax,-0x6e4(%ebp)
40d63d:	e8 9a dc 00 00       	call   0x41b2dc
40d642:	59                   	pop    %ecx
40d643:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40d647:	8d 8d 50 f9 ff ff    	lea    -0x6b0(%ebp),%ecx
40d64d:	ff 15 44 32 42 00    	call   *0x423244
40d653:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40d657:	8d 8d a0 f8 ff ff    	lea    -0x760(%ebp),%ecx
40d65d:	ff 15 54 31 42 00    	call   *0x423154
40d663:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40d667:	8d 8d 94 f8 ff ff    	lea    -0x76c(%ebp),%ecx
40d66d:	ff 15 44 32 42 00    	call   *0x423244
40d673:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
40d677:	8d 8d 98 f8 ff ff    	lea    -0x768(%ebp),%ecx
40d67d:	ff 15 44 32 42 00    	call   *0x423244
40d683:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40d687:	8d 8d 9c f8 ff ff    	lea    -0x764(%ebp),%ecx
40d68d:	ff 15 44 32 42 00    	call   *0x423244
40d693:	e8 82 ed 00 00       	call   0x41c41a
40d698:	c3                   	ret
40d699:	ff b5 98 f8 ff ff    	push   -0x768(%ebp)
40d69f:	68 2d 01 00 00       	push   $0x12d
40d6a4:	e8 aa 0f 00 00       	call   0x40e653
40d6a9:	59                   	pop    %ecx
40d6aa:	59                   	pop    %ecx
40d6ab:	e9 5d ff ff ff       	jmp    0x40d60d
40d6b0:	8b ff                	mov    %edi,%edi
40d6b2:	55                   	push   %ebp
40d6b3:	8b ec                	mov    %esp,%ebp
40d6b5:	8b 55 08             	mov    0x8(%ebp),%edx
40d6b8:	56                   	push   %esi
40d6b9:	33 f6                	xor    %esi,%esi
40d6bb:	8b 42 10             	mov    0x10(%edx),%eax
40d6be:	2b c6                	sub    %esi,%eax
40d6c0:	74 61                	je     0x40d723
40d6c2:	83 e8 01             	sub    $0x1,%eax
40d6c5:	74 40                	je     0x40d707
40d6c7:	83 e8 01             	sub    $0x1,%eax
40d6ca:	74 1f                	je     0x40d6eb
40d6cc:	83 e8 01             	sub    $0x1,%eax
40d6cf:	75 79                	jne    0x40d74a
40d6d1:	83 b9 94 00 00 00 03 	cmpl   $0x3,0x94(%ecx)