4011b4:	59                   	pop    %ecx
4011b5:	8b c8                	mov    %eax,%ecx
4011b7:	85 c9                	test   %ecx,%ecx
4011b9:	74 1d                	je     0x4011d8
4011bb:	8d 41 23             	lea    0x23(%ecx),%eax
4011be:	83 e0 e0             	and    $0xffffffe0,%eax
4011c1:	5e                   	pop    %esi
4011c2:	89 48 fc             	mov    %ecx,-0x4(%eax)
4011c5:	c3                   	ret
4011c6:	51                   	push   %ecx
4011c7:	e8 f4 57 00 00       	call   0x4069c0
4011cc:	59                   	pop    %ecx
4011cd:	85 c0                	test   %eax,%eax
4011cf:	74 07                	je     0x4011d8
4011d1:	eb bc                	jmp    0x40118f
4011d3:	e8 24 87 00 00       	call   0x4098fc
4011d8:	e8 21 c2 00 00       	call   0x40d3fe
4011dd:	cc                   	int3
4011de:	56                   	push   %esi
4011df:	8b f2                	mov    %edx,%esi
4011e1:	83 c8 ff             	or     $0xffffffff,%eax
4011e4:	33 d2                	xor    %edx,%edx
4011e6:	f7 74 24 08          	divl   0x8(%esp)
4011ea:	3b f0                	cmp    %eax,%esi
4011ec:	77 30                	ja     0x40121e
4011ee:	0f af 74 24 08       	imul   0x8(%esp),%esi
4011f3:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
4011f9:	72 1a                	jb     0x401215
4011fb:	f6 c1 1f             	test   $0x1f,%cl
4011fe:	75 1e                	jne    0x40121e
401200:	8b 41 fc             	mov    -0x4(%ecx),%eax
401203:	3b c1                	cmp    %ecx,%eax
401205:	73 17                	jae    0x40121e
401207:	2b c8                	sub    %eax,%ecx
401209:	83 f9 04             	cmp    $0x4,%ecx
40120c:	72 10                	jb     0x40121e
40120e:	83 f9 23             	cmp    $0x23,%ecx
401211:	77 0b                	ja     0x40121e
401213:	8b c8                	mov    %eax,%ecx
401215:	51                   	push   %ecx
401216:	e8 d5 57 00 00       	call   0x4069f0
40121b:	59                   	pop    %ecx
40121c:	5e                   	pop    %esi
40121d:	c3                   	ret
40121e:	e8 db c1 00 00       	call   0x40d3fe
401223:	cc                   	int3
401224:	33 c0                	xor    %eax,%eax
401226:	89 01                	mov    %eax,(%ecx)
401228:	89 41 04             	mov    %eax,0x4(%ecx)
40122b:	89 41 08             	mov    %eax,0x8(%ecx)
40122e:	89 41 0c             	mov    %eax,0xc(%ecx)
401231:	89 41 10             	mov    %eax,0x10(%ecx)
401234:	89 41 14             	mov    %eax,0x14(%ecx)
401237:	89 41 18             	mov    %eax,0x18(%ecx)
40123a:	89 41 1c             	mov    %eax,0x1c(%ecx)
40123d:	89 41 20             	mov    %eax,0x20(%ecx)
401240:	89 41 24             	mov    %eax,0x24(%ecx)
401243:	89 41 28             	mov    %eax,0x28(%ecx)
401246:	89 41 2c             	mov    %eax,0x2c(%ecx)
401249:	89 41 30             	mov    %eax,0x30(%ecx)
40124c:	8b c1                	mov    %ecx,%eax
40124e:	c3                   	ret
40124f:	55                   	push   %ebp
401250:	8b ec                	mov    %esp,%ebp
401252:	83 ec 38             	sub    $0x38,%esp
401255:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
40125a:	33 c5                	xor    %ebp,%eax
40125c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40125f:	53                   	push   %ebx
401260:	8b 5d 08             	mov    0x8(%ebp),%ebx
401263:	33 c0                	xor    %eax,%eax
401265:	56                   	push   %esi
401266:	57                   	push   %edi
401267:	8b 7d 34             	mov    0x34(%ebp),%edi
40126a:	8b f1                	mov    %ecx,%esi
40126c:	51                   	push   %ecx
40126d:	33 c9                	xor    %ecx,%ecx
40126f:	6a 0c                	push   $0xc
401271:	5a                   	pop    %edx
401272:	41                   	inc    %ecx
401273:	89 46 18             	mov    %eax,0x18(%esi)
401276:	89 46 1c             	mov    %eax,0x1c(%esi)
401279:	e8 08 ff ff ff       	call   0x401186
40127e:	59                   	pop    %ecx
40127f:	85 c0                	test   %eax,%eax
401281:	74 02                	je     0x401285
401283:	89 00                	mov    %eax,(%eax)
401285:	8d 48 04             	lea    0x4(%eax),%ecx
401288:	85 c9                	test   %ecx,%ecx
40128a:	74 02                	je     0x40128e
40128c:	89 01                	mov    %eax,(%ecx)
40128e:	53                   	push   %ebx
40128f:	8d 4e 20             	lea    0x20(%esi),%ecx
401292:	89 46 18             	mov    %eax,0x18(%esi)
401295:	e8 d0 0d 00 00       	call   0x40206a
40129a:	8b 45 0c             	mov    0xc(%ebp),%eax
40129d:	33 db                	xor    %ebx,%ebx
40129f:	89 46 38             	mov    %eax,0x38(%esi)
4012a2:	8b 45 10             	mov    0x10(%ebp),%eax
4012a5:	89 46 48             	mov    %eax,0x48(%esi)
4012a8:	8b 45 14             	mov    0x14(%ebp),%eax
4012ab:	89 46 4c             	mov    %eax,0x4c(%esi)
4012ae:	8b 45 18             	mov    0x18(%ebp),%eax
4012b1:	89 46 50             	mov    %eax,0x50(%esi)
4012b4:	8b 45 1c             	mov    0x1c(%ebp),%eax
4012b7:	89 46 54             	mov    %eax,0x54(%esi)
4012ba:	8b 45 20             	mov    0x20(%ebp),%eax
4012bd:	89 46 58             	mov    %eax,0x58(%esi)
4012c0:	8b 45 24             	mov    0x24(%ebp),%eax
4012c3:	89 46 5c             	mov    %eax,0x5c(%esi)
4012c6:	8b 45 28             	mov    0x28(%ebp),%eax
4012c9:	89 46 60             	mov    %eax,0x60(%esi)
4012cc:	8b 45 2c             	mov    0x2c(%ebp),%eax
4012cf:	89 46 64             	mov    %eax,0x64(%esi)
4012d2:	8a 45 30             	mov    0x30(%ebp),%al
4012d5:	89 5e 3c             	mov    %ebx,0x3c(%esi)
4012d8:	89 5e 40             	mov    %ebx,0x40(%esi)
4012db:	89 5e 44             	mov    %ebx,0x44(%esi)
4012de:	88 46 68             	mov    %al,0x68(%esi)
4012e1:	c6 46 69 01          	movb   $0x1,0x69(%esi)
4012e5:	85 ff                	test   %edi,%edi
4012e7:	74 0e                	je     0x4012f7
4012e9:	57                   	push   %edi
4012ea:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4012ed:	e8 78 0d 00 00       	call   0x40206a
4012f2:	33 ff                	xor    %edi,%edi
4012f4:	47                   	inc    %edi
4012f5:	eb 12                	jmp    0x401309
4012f7:	68 fc 92 43 00       	push   $0x4392fc
4012fc:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4012ff:	e8 ec 0c 00 00       	call   0x401ff0
401304:	6a 02                	push   $0x2
401306:	8b fb                	mov    %ebx,%edi
401308:	5b                   	pop    %ebx
401309:	50                   	push   %eax
40130a:	8d 4e 6c             	lea    0x6c(%esi),%ecx
40130d:	e8 bc 0c 00 00       	call   0x401fce
401312:	85 db                	test   %ebx,%ebx
401314:	74 0f                	je     0x401325
401316:	33 db                	xor    %ebx,%ebx
401318:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40131b:	53                   	push   %ebx
40131c:	6a 01                	push   $0x1
40131e:	e8 a2 0d 00 00       	call   0x4020c5
401323:	eb 02                	jmp    0x401327
401325:	33 db                	xor    %ebx,%ebx
401327:	85 ff                	test   %edi,%edi
401329:	74 0b                	je     0x401336
40132b:	53                   	push   %ebx
40132c:	6a 01                	push   $0x1
40132e:	8d 4d cc             	lea    -0x34(%ebp),%ecx
401331:	e8 8f 0d 00 00       	call   0x4020c5
401336:	89 9e 84 00 00 00    	mov    %ebx,0x84(%esi)
40133c:	8d be 8c 00 00 00    	lea    0x8c(%esi),%edi
401342:	88 9e 88 00 00 00    	mov    %bl,0x88(%esi)
401348:	8d 8e a0 00 00 00    	lea    0xa0(%esi),%ecx
40134e:	33 c0                	xor    %eax,%eax
401350:	ab                   	stos   %eax,%es:(%edi)
401351:	ab                   	stos   %eax,%es:(%edi)
401352:	ab                   	stos   %eax,%es:(%edi)
401353:	ab                   	stos   %eax,%es:(%edi)
401354:	ab                   	stos   %eax,%es:(%edi)
401355:	e8 ca fe ff ff       	call   0x401224
40135a:	56                   	push   %esi
40135b:	89 9e d4 00 00 00    	mov    %ebx,0xd4(%esi)
401361:	ff 15 f0 10 43 00    	call   *0x4310f0
401367:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40136a:	8b c6                	mov    %esi,%eax
40136c:	5f                   	pop    %edi
40136d:	5e                   	pop    %esi
40136e:	33 cd                	xor    %ebp,%ecx
401370:	5b                   	pop    %ebx
401371:	e8 31 89 00 00       	call   0x409ca7
401376:	c9                   	leave
401377:	c2 30 00             	ret    $0x30
40137a:	53                   	push   %ebx
40137b:	55                   	push   %ebp
40137c:	56                   	push   %esi
40137d:	57                   	push   %edi
40137e:	8b f9                	mov    %ecx,%edi
401380:	57                   	push   %edi
401381:	ff 15 14 10 43 00    	call   *0x431014
401387:	57                   	push   %edi
401388:	c6 87 88 00 00 00 01 	movb   $0x1,0x88(%edi)
40138f:	ff 15 18 10 43 00    	call   *0x431018
401395:	ff 77 3c             	push   0x3c(%edi)
401398:	ff 15 00 11 43 00    	call   *0x431100
40139e:	6a 64                	push   $0x64
4013a0:	5e                   	pop    %esi
4013a1:	4e                   	dec    %esi
4013a2:	83 bf 84 00 00 00 01 	cmpl   $0x1,0x84(%edi)
4013a9:	74 0c                	je     0x4013b7
4013ab:	6a 0a                	push   $0xa
4013ad:	ff 15 28 10 43 00    	call   *0x431028
4013b3:	85 f6                	test   %esi,%esi
4013b5:	75 ea                	jne    0x4013a1
4013b7:	83 7f 40 00          	cmpl   $0x0,0x40(%edi)
4013bb:	74 0b                	je     0x4013c8
4013bd:	6a ff                	push   $0xffffffff
4013bf:	ff 77 40             	push   0x40(%edi)
4013c2:	ff 15 18 11 43 00    	call   *0x431118
4013c8:	83 7f 3c 00          	cmpl   $0x0,0x3c(%edi)
4013cc:	8b 2d 20 10 43 00    	mov    0x431020,%ebp
4013d2:	74 05                	je     0x4013d9
4013d4:	ff 77 3c             	push   0x3c(%edi)
4013d7:	ff d5                	call   *%ebp
4013d9:	8d 5f 18             	lea    0x18(%edi),%ebx
4013dc:	8b 03                	mov    (%ebx),%eax
4013de:	8b 30                	mov    (%eax),%esi
4013e0:	3b f0                	cmp    %eax,%esi
4013e2:	74 38                	je     0x40141c
4013e4:	8b 5e 08             	mov    0x8(%esi),%ebx
4013e7:	8b cb                	mov    %ebx,%ecx
4013e9:	6a 01                	push   $0x1
4013eb:	e8 43 11 00 00       	call   0x402533
4013f0:	8b cb                	mov    %ebx,%ecx
4013f2:	e8 22 11 00 00       	call   0x402519
4013f7:	85 db                	test   %ebx,%ebx
4013f9:	74 11                	je     0x40140c
4013fb:	8b cb                	mov    %ebx,%ecx
4013fd:	e8 5c 11 00 00       	call   0x40255e
401402:	6a 4c                	push   $0x4c
401404:	53                   	push   %ebx
401405:	e8 e6 55 00 00       	call   0x4069f0
40140a:	59                   	pop    %ecx
40140b:	59                   	pop    %ecx
40140c:	8b 36                	mov    (%esi),%esi
40140e:	3b 77 18             	cmp    0x18(%edi),%esi
401411:	75 d1                	jne    0x4013e4
401413:	8b 2d 20 10 43 00    	mov    0x431020,%ebp
401419:	8d 5f 18             	lea    0x18(%edi),%ebx
40141c:	83 7f 44 00          	cmpl   $0x0,0x44(%edi)
401420:	74 0e                	je     0x401430
401422:	ff 77 44             	push   0x44(%edi)
401425:	ff 15 f8 10 43 00    	call   *0x4310f8
40142b:	ff 77 44             	push   0x44(%edi)
40142e:	ff d5                	call   *%ebp
401430:	8b 87 9c 00 00 00    	mov    0x9c(%edi),%eax
401436:	85 c0                	test   %eax,%eax
401438:	74 03                	je     0x40143d
40143a:	50                   	push   %eax
40143b:	ff d5                	call   *%ebp
40143d:	57                   	push   %edi
40143e:	ff 15 1c 11 43 00    	call   *0x43111c
401444:	6a 00                	push   $0x0
401446:	6a 01                	push   $0x1
401448:	8d 4f 6c             	lea    0x6c(%edi),%ecx
40144b:	e8 75 0c 00 00       	call   0x4020c5
401450:	6a 00                	push   $0x0
401452:	6a 01                	push   $0x1
401454:	8d 4f 20             	lea    0x20(%edi),%ecx
401457:	e8 69 0c 00 00       	call   0x4020c5
40145c:	5f                   	pop    %edi
40145d:	5e                   	pop    %esi
40145e:	5d                   	pop    %ebp
40145f:	8b cb                	mov    %ebx,%ecx
401461:	5b                   	pop    %ebx
401462:	e9 1d 0b 00 00       	jmp    0x401f84
401467:	53                   	push   %ebx
401468:	56                   	push   %esi
401469:	8b f1                	mov    %ecx,%esi
40146b:	57                   	push   %edi
40146c:	33 ff                	xor    %edi,%edi
40146e:	39 be 84 00 00 00    	cmp    %edi,0x84(%esi)
401474:	0f 85 8a 00 00 00    	jne    0x401504
40147a:	57                   	push   %edi
40147b:	33 db                	xor    %ebx,%ebx
40147d:	c7 86 84 00 00 00 02 	movl   $0x2,0x84(%esi)
401484:	00 00 00
401487:	43                   	inc    %ebx
401488:	53                   	push   %ebx
401489:	57                   	push   %edi
40148a:	ff 15 f4 10 43 00    	call   *0x4310f4
401490:	89 46 44             	mov    %eax,0x44(%esi)
401493:	85 c0                	test   %eax,%eax
401495:	74 6d                	je     0x401504
401497:	57                   	push   %edi
401498:	57                   	push   %edi
401499:	53                   	push   %ebx
40149a:	57                   	push   %edi
40149b:	ff 15 04 11 43 00    	call   *0x431104
4014a1:	89 86 9c 00 00 00    	mov    %eax,0x9c(%esi)
4014a7:	85 c0                	test   %eax,%eax
4014a9:	74 59                	je     0x401504
4014ab:	6a 04                	push   $0x4
4014ad:	6a ff                	push   $0xffffffff
4014af:	56                   	push   %esi
4014b0:	68 a0 1b 40 00       	push   $0x401ba0
4014b5:	50                   	push   %eax
4014b6:	8d 46 40             	lea    0x40(%esi),%eax
4014b9:	50                   	push   %eax
4014ba:	ff 15 e4 10 43 00    	call   *0x4310e4
4014c0:	85 c0                	test   %eax,%eax
4014c2:	74 40                	je     0x401504
4014c4:	8d 46 20             	lea    0x20(%esi),%eax
4014c7:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
4014cb:	72 02                	jb     0x4014cf
4014cd:	8b 00                	mov    (%eax),%eax
4014cf:	ff 76 38             	push   0x38(%esi)
4014d2:	57                   	push   %edi
4014d3:	6a 40                	push   $0x40
4014d5:	6a 40                	push   $0x40
4014d7:	53                   	push   %ebx
4014d8:	6a 06                	push   $0x6
4014da:	68 03 00 08 40       	push   $0x40080003
4014df:	50                   	push   %eax
4014e0:	ff 15 ec 10 43 00    	call   *0x4310ec
4014e6:	89 46 3c             	mov    %eax,0x3c(%esi)
4014e9:	83 f8 ff             	cmp    $0xffffffff,%eax
4014ec:	74 16                	je     0x401504
4014ee:	ff b6 9c 00 00 00    	push   0x9c(%esi)
4014f4:	ff 15 0c 11 43 00    	call   *0x43110c
4014fa:	85 c0                	test   %eax,%eax
4014fc:	75 0c                	jne    0x40150a
4014fe:	89 9e 84 00 00 00    	mov    %ebx,0x84(%esi)
401504:	32 c0                	xor    %al,%al
401506:	5f                   	pop    %edi
401507:	5e                   	pop    %esi
401508:	5b                   	pop    %ebx
401509:	c3                   	ret
40150a:	8a c3                	mov    %bl,%al
40150c:	eb f8                	jmp    0x401506
40150e:	56                   	push   %esi
40150f:	8b f1                	mov    %ecx,%esi
401511:	80 be 88 00 00 00 00 	cmpb   $0x0,0x88(%esi)
401518:	75 3e                	jne    0x401558
40151a:	83 7e 40 00          	cmpl   $0x0,0x40(%esi)
40151e:	74 0d                	je     0x40152d
401520:	ff 76 40             	push   0x40(%esi)
401523:	ff 15 e8 10 43 00    	call   *0x4310e8
401529:	83 66 40 00          	andl   $0x0,0x40(%esi)
40152d:	83 7e 3c 00          	cmpl   $0x0,0x3c(%esi)
401531:	74 0d                	je     0x401540
401533:	ff 76 3c             	push   0x3c(%esi)
401536:	ff 15 20 10 43 00    	call   *0x431020
40153c:	83 66 3c 00          	andl   $0x0,0x3c(%esi)
401540:	8b 86 9c 00 00 00    	mov    0x9c(%esi),%eax
401546:	85 c0                	test   %eax,%eax
401548:	74 0e                	je     0x401558
40154a:	50                   	push   %eax
40154b:	ff 15 20 10 43 00    	call   *0x431020
401551:	83 a6 9c 00 00 00 00 	andl   $0x0,0x9c(%esi)
401558:	5e                   	pop    %esi
401559:	c3                   	ret
40155a:	56                   	push   %esi
40155b:	8b f1                	mov    %ecx,%esi
40155d:	ff b6 9c 00 00 00    	push   0x9c(%esi)
401563:	ff 15 10 11 43 00    	call   *0x431110
401569:	85 c0                	test   %eax,%eax
40156b:	75 18                	jne    0x401585