4080af:	90                   	nop
4080b0:	8b 55 d8             	mov    -0x28(%ebp),%edx
4080b3:	03 d7                	add    %edi,%edx
4080b5:	8b ca                	mov    %edx,%ecx
4080b7:	8d 82 80 00 00 00    	lea    0x80(%edx),%eax
4080bd:	89 45 08             	mov    %eax,0x8(%ebp)
4080c0:	8d 59 02             	lea    0x2(%ecx),%ebx
4080c3:	33 c0                	xor    %eax,%eax
4080c5:	89 45 88             	mov    %eax,-0x78(%ebp)
4080c8:	89 45 8c             	mov    %eax,-0x74(%ebp)
4080cb:	89 45 90             	mov    %eax,-0x70(%ebp)
4080ce:	89 45 94             	mov    %eax,-0x6c(%ebp)
4080d1:	89 45 98             	mov    %eax,-0x68(%ebp)
4080d4:	89 45 9c             	mov    %eax,-0x64(%ebp)
4080d7:	66 8b 01             	mov    (%ecx),%ax
4080da:	83 c1 02             	add    $0x2,%ecx
4080dd:	66 85 c0             	test   %ax,%ax
4080e0:	75 f5                	jne    0x4080d7
4080e2:	2b cb                	sub    %ebx,%ecx
4080e4:	d1 f9                	sar    $1,%ecx
4080e6:	51                   	push   %ecx
4080e7:	52                   	push   %edx
4080e8:	8d 4d 88             	lea    -0x78(%ebp),%ecx
4080eb:	e8 a0 ec ff ff       	call   0x406d90
4080f0:	8b 5d 08             	mov    0x8(%ebp),%ebx
4080f3:	33 c0                	xor    %eax,%eax
4080f5:	89 45 a0             	mov    %eax,-0x60(%ebp)
4080f8:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4080fb:	89 45 a8             	mov    %eax,-0x58(%ebp)
4080fe:	89 45 ac             	mov    %eax,-0x54(%ebp)
408101:	89 45 b0             	mov    %eax,-0x50(%ebp)
408104:	89 45 b4             	mov    %eax,-0x4c(%ebp)
408107:	8b c3                	mov    %ebx,%eax
408109:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40810d:	8d 50 02             	lea    0x2(%eax),%edx
408110:	66 8b 08             	mov    (%eax),%cx
408113:	83 c0 02             	add    $0x2,%eax
408116:	66 85 c9             	test   %cx,%cx
408119:	75 f5                	jne    0x408110
40811b:	2b c2                	sub    %edx,%eax
40811d:	8d 4d a0             	lea    -0x60(%ebp),%ecx
408120:	d1 f8                	sar    $1,%eax
408122:	50                   	push   %eax
408123:	53                   	push   %ebx
408124:	e8 67 ec ff ff       	call   0x406d90
408129:	8d 45 88             	lea    -0x78(%ebp),%eax
40812c:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
408130:	50                   	push   %eax
408131:	8d 45 e8             	lea    -0x18(%ebp),%eax
408134:	50                   	push   %eax
408135:	8d 4d b8             	lea    -0x48(%ebp),%ecx
408138:	e8 13 ee ff ff       	call   0x406f50
40813d:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
408140:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
408144:	83 f9 07             	cmp    $0x7,%ecx
408147:	76 32                	jbe    0x40817b
408149:	8b 55 a0             	mov    -0x60(%ebp),%edx
40814c:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
408153:	8b c2                	mov    %edx,%eax
408155:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40815b:	72 14                	jb     0x408171
40815d:	8b 50 fc             	mov    -0x4(%eax),%edx
408160:	83 c1 23             	add    $0x23,%ecx
408163:	2b c2                	sub    %edx,%eax
408165:	83 c0 fc             	add    $0xfffffffc,%eax
408168:	83 f8 1f             	cmp    $0x1f,%eax
40816b:	0f 87 02 01 00 00    	ja     0x408273
408171:	51                   	push   %ecx
408172:	52                   	push   %edx
408173:	e8 78 e8 ff ff       	call   0x4069f0
408178:	83 c4 08             	add    $0x8,%esp
40817b:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
40817e:	83 f9 07             	cmp    $0x7,%ecx
408181:	76 32                	jbe    0x4081b5
408183:	8b 55 88             	mov    -0x78(%ebp),%edx
408186:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40818d:	8b c2                	mov    %edx,%eax
40818f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
408195:	72 14                	jb     0x4081ab
408197:	8b 50 fc             	mov    -0x4(%eax),%edx
40819a:	83 c1 23             	add    $0x23,%ecx
40819d:	2b c2                	sub    %edx,%eax
40819f:	83 c0 fc             	add    $0xfffffffc,%eax
4081a2:	83 f8 1f             	cmp    $0x1f,%eax
4081a5:	0f 87 c8 00 00 00    	ja     0x408273
4081ab:	51                   	push   %ecx
4081ac:	52                   	push   %edx
4081ad:	e8 3e e8 ff ff       	call   0x4069f0
4081b2:	83 c4 08             	add    $0x8,%esp
4081b5:	46                   	inc    %esi
4081b6:	81 c7 00 01 00 00    	add    $0x100,%edi
4081bc:	3b 75 dc             	cmp    -0x24(%ebp),%esi
4081bf:	0f 82 eb fe ff ff    	jb     0x4080b0
4081c5:	8b 5d f0             	mov    -0x10(%ebp),%ebx
4081c8:	8b 3d 2c 10 43 00    	mov    0x43102c,%edi
4081ce:	8b 55 0c             	mov    0xc(%ebp),%edx
4081d1:	83 7a 14 07          	cmpl   $0x7,0x14(%edx)
4081d5:	76 02                	jbe    0x4081d9
4081d7:	8b 12                	mov    (%edx),%edx
4081d9:	8b ca                	mov    %edx,%ecx
4081db:	8d 71 02             	lea    0x2(%ecx),%esi
4081de:	8b ff                	mov    %edi,%edi
4081e0:	66 8b 01             	mov    (%ecx),%ax
4081e3:	83 c1 02             	add    $0x2,%ecx
4081e6:	66 85 c0             	test   %ax,%ax
4081e9:	75 f5                	jne    0x4081e0
4081eb:	2b ce                	sub    %esi,%ecx
4081ed:	d1 f9                	sar    $1,%ecx
4081ef:	51                   	push   %ecx
4081f0:	52                   	push   %edx
4081f1:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4081f4:	e8 77 06 00 00       	call   0x408870
4081f9:	8d 73 34             	lea    0x34(%ebx),%esi
4081fc:	56                   	push   %esi
4081fd:	89 75 08             	mov    %esi,0x8(%ebp)
408200:	ff 15 14 10 43 00    	call   *0x431014
408206:	8b 43 04             	mov    0x4(%ebx),%eax
408209:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40820c:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
408210:	51                   	push   %ecx
408211:	3b 43 08             	cmp    0x8(%ebx),%eax
408214:	74 0d                	je     0x408223
408216:	8b c8                	mov    %eax,%ecx
408218:	e8 23 f7 ff ff       	call   0x407940
40821d:	83 43 04 20          	addl   $0x20,0x4(%ebx)
408221:	eb 08                	jmp    0x40822b
408223:	50                   	push   %eax
408224:	8b cb                	mov    %ebx,%ecx
408226:	e8 35 ef ff ff       	call   0x407160
40822b:	56                   	push   %esi
40822c:	ff 15 18 10 43 00    	call   *0x431018
408232:	ff d7                	call   *%edi
408234:	ff 4b 14             	decl   0x14(%ebx)
408237:	89 43 18             	mov    %eax,0x18(%ebx)
40823a:	8b 45 e0             	mov    -0x20(%ebp),%eax
40823d:	ff 70 04             	push   0x4(%eax)
408240:	8d 45 e0             	lea    -0x20(%ebp),%eax
408243:	50                   	push   %eax
408244:	8b c8                	mov    %eax,%ecx
408246:	e8 55 f0 ff ff       	call   0x4072a0
40824b:	6a 40                	push   $0x40
40824d:	ff 75 e0             	push   -0x20(%ebp)
408250:	e8 9b e7 ff ff       	call   0x4069f0
408255:	83 c4 08             	add    $0x8,%esp
408258:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40825b:	e8 70 fa ff ff       	call   0x407cd0
408260:	8b 4d f4             	mov    -0xc(%ebp),%ecx
408263:	5f                   	pop    %edi
408264:	5e                   	pop    %esi
408265:	5b                   	pop    %ebx
408266:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40826d:	8b e5                	mov    %ebp,%esp
40826f:	5d                   	pop    %ebp
408270:	c2 08 00             	ret    $0x8
408273:	e8 86 51 00 00       	call   0x40d3fe
408278:	cc                   	int3
408279:	cc                   	int3
40827a:	cc                   	int3
40827b:	cc                   	int3
40827c:	cc                   	int3
40827d:	cc                   	int3
40827e:	cc                   	int3
40827f:	cc                   	int3
408280:	55                   	push   %ebp
408281:	8b ec                	mov    %esp,%ebp
408283:	ff 75 10             	push   0x10(%ebp)
408286:	8b 4d 08             	mov    0x8(%ebp),%ecx
408289:	ff 75 0c             	push   0xc(%ebp)
40828c:	e8 5f fd ff ff       	call   0x407ff0
408291:	5d                   	pop    %ebp
408292:	c3                   	ret
408293:	cc                   	int3
408294:	cc                   	int3
408295:	cc                   	int3
408296:	cc                   	int3
408297:	cc                   	int3
408298:	cc                   	int3
408299:	cc                   	int3
40829a:	cc                   	int3
40829b:	cc                   	int3
40829c:	cc                   	int3
40829d:	cc                   	int3
40829e:	cc                   	int3
40829f:	cc                   	int3
4082a0:	55                   	push   %ebp
4082a1:	8b ec                	mov    %esp,%ebp
4082a3:	6a ff                	push   $0xffffffff
4082a5:	68 fd 01 43 00       	push   $0x4301fd
4082aa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4082b0:	50                   	push   %eax
4082b1:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4082b8:	81 ec 4c 04 00 00    	sub    $0x44c,%esp
4082be:	53                   	push   %ebx
4082bf:	8b d9                	mov    %ecx,%ebx
4082c1:	56                   	push   %esi
4082c2:	57                   	push   %edi
4082c3:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4082c6:	8d 73 34             	lea    0x34(%ebx),%esi
4082c9:	89 75 c4             	mov    %esi,-0x3c(%ebp)
4082cc:	8d 64 24 00          	lea    0x0(%esp),%esp
4082d0:	ff 15 2c 10 43 00    	call   *0x43102c
4082d6:	89 45 c0             	mov    %eax,-0x40(%ebp)
4082d9:	3b 43 18             	cmp    0x18(%ebx),%eax
4082dc:	73 03                	jae    0x4082e1
4082de:	89 43 18             	mov    %eax,0x18(%ebx)
4082e1:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4082e8:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
4082ef:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4082f6:	56                   	push   %esi
4082f7:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4082fe:	ff 15 14 10 43 00    	call   *0x431014
408304:	8d 45 e8             	lea    -0x18(%ebp),%eax
408307:	3b c3                	cmp    %ebx,%eax
408309:	74 22                	je     0x40832d
40830b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40830e:	8b 03                	mov    (%ebx),%eax
408310:	89 45 e8             	mov    %eax,-0x18(%ebp)
408313:	8b 43 04             	mov    0x4(%ebx),%eax
408316:	89 0b                	mov    %ecx,(%ebx)
408318:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40831b:	89 45 ec             	mov    %eax,-0x14(%ebp)
40831e:	8b 43 08             	mov    0x8(%ebx),%eax
408321:	89 4b 04             	mov    %ecx,0x4(%ebx)
408324:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408327:	89 45 f0             	mov    %eax,-0x10(%ebp)
40832a:	89 4b 08             	mov    %ecx,0x8(%ebx)
40832d:	56                   	push   %esi
40832e:	ff 15 18 10 43 00    	call   *0x431018
408334:	8b 5d ec             	mov    -0x14(%ebp),%ebx
408337:	8b c3                	mov    %ebx,%eax
408339:	8b 7d e8             	mov    -0x18(%ebp),%edi
40833c:	2b c7                	sub    %edi,%eax
40833e:	c1 f8 05             	sar    $0x5,%eax
408341:	83 f8 64             	cmp    $0x64,%eax
408344:	76 2b                	jbe    0x408371
408346:	8d 87 40 01 00 00    	lea    0x140(%edi),%eax
40834c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40834f:	3b c3                	cmp    %ebx,%eax
408351:	74 19                	je     0x40836c
408353:	8b f0                	mov    %eax,%esi
408355:	8b ce                	mov    %esi,%ecx
408357:	e8 74 f9 ff ff       	call   0x407cd0
40835c:	83 c6 20             	add    $0x20,%esi
40835f:	3b f3                	cmp    %ebx,%esi
408361:	75 f2                	jne    0x408355
408363:	8b 75 c4             	mov    -0x3c(%ebp),%esi
408366:	8b 7d e8             	mov    -0x18(%ebp),%edi
408369:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40836c:	8b d8                	mov    %eax,%ebx
40836e:	89 5d ec             	mov    %ebx,-0x14(%ebp)
408371:	3b fb                	cmp    %ebx,%edi
408373:	0f 84 74 01 00 00    	je     0x4084ed
408379:	8d 5f 08             	lea    0x8(%edi),%ebx
40837c:	8d 64 24 00          	lea    0x0(%esp),%esp
408380:	33 c0                	xor    %eax,%eax
408382:	c7 45 dc 07 00 00 00 	movl   $0x7,-0x24(%ebp)
408389:	89 45 c8             	mov    %eax,-0x38(%ebp)
40838c:	89 45 cc             	mov    %eax,-0x34(%ebp)
40838f:	89 45 d0             	mov    %eax,-0x30(%ebp)
408392:	89 45 d4             	mov    %eax,-0x2c(%ebp)
408395:	89 45 d8             	mov    %eax,-0x28(%ebp)
408398:	66 89 45 c8          	mov    %ax,-0x38(%ebp)
40839c:	8b 45 e0             	mov    -0x20(%ebp),%eax
40839f:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4083a2:	6a 25                	push   $0x25
4083a4:	68 b8 13 43 00       	push   $0x4313b8
4083a9:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4083ad:	8b 78 10             	mov    0x10(%eax),%edi
4083b0:	33 c0                	xor    %eax,%eax
4083b2:	89 45 a8             	mov    %eax,-0x58(%ebp)
4083b5:	89 45 ac             	mov    %eax,-0x54(%ebp)
4083b8:	89 45 b0             	mov    %eax,-0x50(%ebp)
4083bb:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4083be:	89 45 b8             	mov    %eax,-0x48(%ebp)
4083c1:	89 45 bc             	mov    %eax,-0x44(%ebp)
4083c4:	e8 c7 e9 ff ff       	call   0x406d90
4083c9:	8d 45 c8             	lea    -0x38(%ebp),%eax
4083cc:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4083d0:	50                   	push   %eax
4083d1:	53                   	push   %ebx
4083d2:	8d 43 f8             	lea    -0x8(%ebx),%eax
4083d5:	8b cf                	mov    %edi,%ecx
4083d7:	50                   	push   %eax
4083d8:	8d 45 a8             	lea    -0x58(%ebp),%eax
4083db:	50                   	push   %eax
4083dc:	e8 13 b4 ff ff       	call   0x4037f4
4083e1:	8b 4d bc             	mov    -0x44(%ebp),%ecx
4083e4:	8b f8                	mov    %eax,%edi
4083e6:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4083ea:	83 f9 07             	cmp    $0x7,%ecx
4083ed:	76 32                	jbe    0x408421
4083ef:	8b 55 a8             	mov    -0x58(%ebp),%edx
4083f2:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4083f9:	8b c2                	mov    %edx,%eax
4083fb:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
408401:	72 14                	jb     0x408417
408403:	8b 50 fc             	mov    -0x4(%eax),%edx
408406:	83 c1 23             	add    $0x23,%ecx
408409:	2b c2                	sub    %edx,%eax
40840b:	83 c0 fc             	add    $0xfffffffc,%eax
40840e:	83 f8 1f             	cmp    $0x1f,%eax
408411:	0f 87 8c 01 00 00    	ja     0x4085a3
408417:	51                   	push   %ecx
408418:	52                   	push   %edx
408419:	e8 d2 e5 ff ff       	call   0x4069f0
40841e:	83 c4 08             	add    $0x8,%esp
408421:	83 ff 02             	cmp    $0x2,%edi
408424:	74 21                	je     0x408447
408426:	83 7b 14 07          	cmpl   $0x7,0x14(%ebx)
40842a:	8b c3                	mov    %ebx,%eax
40842c:	76 02                	jbe    0x408430
40842e:	8b 03                	mov    (%ebx),%eax
408430:	50                   	push   %eax
408431:	8d 85 a8 fb ff ff    	lea    -0x458(%ebp),%eax
408437:	68 08 14 43 00       	push   $0x431408
40843c:	50                   	push   %eax
40843d:	e8 6e e8 ff ff       	call   0x406cb0
408442:	83 c4 0c             	add    $0xc,%esp
408445:	eb 2b                	jmp    0x408472
408447:	83 7d dc 07          	cmpl   $0x7,-0x24(%ebp)
40844b:	8d 45 c8             	lea    -0x38(%ebp),%eax
40844e:	8b cb                	mov    %ebx,%ecx
408450:	0f 47 45 c8          	cmova  -0x38(%ebp),%eax
408454:	83 7b 14 07          	cmpl   $0x7,0x14(%ebx)
408458:	76 02                	jbe    0x40845c
40845a:	8b 0b                	mov    (%ebx),%ecx
40845c:	50                   	push   %eax
40845d:	51                   	push   %ecx
40845e:	8d 85 a8 fb ff ff    	lea    -0x458(%ebp),%eax
408464:	68 68 14 43 00       	push   $0x431468
408469:	50                   	push   %eax
40846a:	e8 41 e8 ff ff       	call   0x406cb0
40846f:	83 c4 10             	add    $0x10,%esp
408472:	8d 85 a8 fb ff ff    	lea    -0x458(%ebp),%eax
408478:	50                   	push   %eax
408479:	ff 15 1c 10 43 00    	call   *0x43101c
40847f:	8b 4d dc             	mov    -0x24(%ebp),%ecx
408482:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
408486:	83 f9 07             	cmp    $0x7,%ecx
408489:	76 32                	jbe    0x4084bd
40848b:	8b 55 c8             	mov    -0x38(%ebp),%edx
40848e:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
408495:	8b c2                	mov    %edx,%eax
408497:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40849d:	72 14                	jb     0x4084b3
40849f:	8b 50 fc             	mov    -0x4(%eax),%edx
4084a2:	83 c1 23             	add    $0x23,%ecx
4084a5:	2b c2                	sub    %edx,%eax
4084a7:	83 c0 fc             	add    $0xfffffffc,%eax
4084aa:	83 f8 1f             	cmp    $0x1f,%eax