4080a2:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4080a8:	e8 81 fb ff ff       	call   0x407c2e
4080ad:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
4080b2:	e9 8b 00 00 00       	jmp    0x408142
4080b7:	8b 45 f4             	mov    -0xc(%ebp),%eax
4080ba:	57                   	push   %edi
4080bb:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
4080c2:	75 42                	jne    0x408106
4080c4:	6a 41                	push   $0x41
4080c6:	59                   	pop    %ecx
4080c7:	6a 5a                	push   $0x5a
4080c9:	2b de                	sub    %esi,%ebx
4080cb:	5a                   	pop    %edx
4080cc:	0f b7 04 33          	movzwl (%ebx,%esi,1),%eax
4080d0:	66 3b c1             	cmp    %cx,%ax
4080d3:	72 0d                	jb     0x4080e2
4080d5:	66 3b c2             	cmp    %dx,%ax
4080d8:	77 08                	ja     0x4080e2
4080da:	83 c0 20             	add    $0x20,%eax
4080dd:	0f b7 f8             	movzwl %ax,%edi
4080e0:	eb 02                	jmp    0x4080e4
4080e2:	8b f8                	mov    %eax,%edi
4080e4:	0f b7 06             	movzwl (%esi),%eax
4080e7:	66 3b c1             	cmp    %cx,%ax
4080ea:	72 0b                	jb     0x4080f7
4080ec:	66 3b c2             	cmp    %dx,%ax
4080ef:	77 06                	ja     0x4080f7
4080f1:	83 c0 20             	add    $0x20,%eax
4080f4:	0f b7 c0             	movzwl %ax,%eax
4080f7:	83 c6 02             	add    $0x2,%esi
4080fa:	66 85 ff             	test   %di,%di
4080fd:	74 3a                	je     0x408139
4080ff:	66 3b f8             	cmp    %ax,%di
408102:	74 c8                	je     0x4080cc
408104:	eb 33                	jmp    0x408139
408106:	0f b7 03             	movzwl (%ebx),%eax
408109:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40810c:	51                   	push   %ecx
40810d:	50                   	push   %eax
40810e:	e8 88 6c 00 00       	call   0x40ed9b
408113:	8d 4d f4             	lea    -0xc(%ebp),%ecx
408116:	0f b7 f8             	movzwl %ax,%edi
408119:	0f b7 06             	movzwl (%esi),%eax
40811c:	8d 5b 02             	lea    0x2(%ebx),%ebx
40811f:	51                   	push   %ecx
408120:	50                   	push   %eax
408121:	e8 75 6c 00 00       	call   0x40ed9b
408126:	83 c4 10             	add    $0x10,%esp
408129:	0f b7 c0             	movzwl %ax,%eax
40812c:	8d 76 02             	lea    0x2(%esi),%esi
40812f:	66 85 ff             	test   %di,%di
408132:	74 05                	je     0x408139
408134:	66 3b f8             	cmp    %ax,%di
408137:	74 cd                	je     0x408106
408139:	0f b7 d7             	movzwl %di,%edx
40813c:	0f b7 c0             	movzwl %ax,%eax
40813f:	2b d0                	sub    %eax,%edx
408141:	5f                   	pop    %edi
408142:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
408146:	5e                   	pop    %esi
408147:	5b                   	pop    %ebx
408148:	74 0a                	je     0x408154
40814a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40814d:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
408154:	8b c2                	mov    %edx,%eax
408156:	8b e5                	mov    %ebp,%esp
408158:	5d                   	pop    %ebp
408159:	c3                   	ret
40815a:	8b ff                	mov    %edi,%edi
40815c:	55                   	push   %ebp
40815d:	8b ec                	mov    %esp,%ebp
40815f:	51                   	push   %ecx
408160:	51                   	push   %ecx
408161:	a1 0c 30 42 00       	mov    0x42300c,%eax
408166:	33 c5                	xor    %ebp,%eax
408168:	89 45 fc             	mov    %eax,-0x4(%ebp)
40816b:	56                   	push   %esi
40816c:	e8 35 29 00 00       	call   0x40aaa6
408171:	8b f0                	mov    %eax,%esi
408173:	85 f6                	test   %esi,%esi
408175:	0f 84 43 01 00 00    	je     0x4082be
40817b:	8b 16                	mov    (%esi),%edx
40817d:	8b ca                	mov    %edx,%ecx
40817f:	53                   	push   %ebx
408180:	33 db                	xor    %ebx,%ebx
408182:	57                   	push   %edi
408183:	8d 82 90 00 00 00    	lea    0x90(%edx),%eax
408189:	3b d0                	cmp    %eax,%edx
40818b:	74 0e                	je     0x40819b
40818d:	8b 7d 08             	mov    0x8(%ebp),%edi
408190:	39 39                	cmp    %edi,(%ecx)
408192:	74 09                	je     0x40819d
408194:	83 c1 0c             	add    $0xc,%ecx
408197:	3b c8                	cmp    %eax,%ecx
408199:	75 f5                	jne    0x408190
40819b:	8b cb                	mov    %ebx,%ecx
40819d:	85 c9                	test   %ecx,%ecx
40819f:	74 07                	je     0x4081a8
4081a1:	8b 79 08             	mov    0x8(%ecx),%edi
4081a4:	85 ff                	test   %edi,%edi
4081a6:	75 07                	jne    0x4081af
4081a8:	33 c0                	xor    %eax,%eax
4081aa:	e9 0d 01 00 00       	jmp    0x4082bc
4081af:	83 ff 05             	cmp    $0x5,%edi
4081b2:	75 0b                	jne    0x4081bf
4081b4:	33 c0                	xor    %eax,%eax
4081b6:	89 59 08             	mov    %ebx,0x8(%ecx)
4081b9:	40                   	inc    %eax
4081ba:	e9 fd 00 00 00       	jmp    0x4082bc
4081bf:	83 ff 01             	cmp    $0x1,%edi
4081c2:	0f 84 f1 00 00 00    	je     0x4082b9
4081c8:	8b 46 04             	mov    0x4(%esi),%eax
4081cb:	89 45 f8             	mov    %eax,-0x8(%ebp)
4081ce:	8b 45 0c             	mov    0xc(%ebp),%eax
4081d1:	89 46 04             	mov    %eax,0x4(%esi)
4081d4:	83 79 04 08          	cmpl   $0x8,0x4(%ecx)
4081d8:	0f 85 c4 00 00 00    	jne    0x4082a2
4081de:	8d 42 24             	lea    0x24(%edx),%eax
4081e1:	8d 50 6c             	lea    0x6c(%eax),%edx
4081e4:	eb 06                	jmp    0x4081ec
4081e6:	89 58 08             	mov    %ebx,0x8(%eax)
4081e9:	83 c0 0c             	add    $0xc,%eax
4081ec:	3b c2                	cmp    %edx,%eax
4081ee:	75 f6                	jne    0x4081e6
4081f0:	8b 5e 08             	mov    0x8(%esi),%ebx
4081f3:	b8 91 00 00 c0       	mov    $0xc0000091,%eax
4081f8:	39 01                	cmp    %eax,(%ecx)
4081fa:	77 4f                	ja     0x40824b
4081fc:	74 44                	je     0x408242
4081fe:	81 39 8d 00 00 c0    	cmpl   $0xc000008d,(%ecx)
408204:	74 33                	je     0x408239
408206:	81 39 8e 00 00 c0    	cmpl   $0xc000008e,(%ecx)
40820c:	74 22                	je     0x408230
40820e:	81 39 8f 00 00 c0    	cmpl   $0xc000008f,(%ecx)
408214:	74 11                	je     0x408227
408216:	81 39 90 00 00 c0    	cmpl   $0xc0000090,(%ecx)
40821c:	75 6f                	jne    0x40828d
40821e:	c7 46 08 81 00 00 00 	movl   $0x81,0x8(%esi)
408225:	eb 66                	jmp    0x40828d
408227:	c7 46 08 86 00 00 00 	movl   $0x86,0x8(%esi)
40822e:	eb 5d                	jmp    0x40828d
408230:	c7 46 08 83 00 00 00 	movl   $0x83,0x8(%esi)
408237:	eb 54                	jmp    0x40828d
408239:	c7 46 08 82 00 00 00 	movl   $0x82,0x8(%esi)
408240:	eb 4b                	jmp    0x40828d
408242:	c7 46 08 84 00 00 00 	movl   $0x84,0x8(%esi)
408249:	eb 42                	jmp    0x40828d
40824b:	81 39 92 00 00 c0    	cmpl   $0xc0000092,(%ecx)
408251:	74 33                	je     0x408286
408253:	81 39 93 00 00 c0    	cmpl   $0xc0000093,(%ecx)
408259:	74 22                	je     0x40827d
40825b:	81 39 b4 02 00 c0    	cmpl   $0xc00002b4,(%ecx)
408261:	74 11                	je     0x408274
408263:	81 39 b5 02 00 c0    	cmpl   $0xc00002b5,(%ecx)
408269:	75 22                	jne    0x40828d
40826b:	c7 46 08 8d 00 00 00 	movl   $0x8d,0x8(%esi)
408272:	eb 19                	jmp    0x40828d
408274:	c7 46 08 8e 00 00 00 	movl   $0x8e,0x8(%esi)
40827b:	eb 10                	jmp    0x40828d
40827d:	c7 46 08 85 00 00 00 	movl   $0x85,0x8(%esi)
408284:	eb 07                	jmp    0x40828d
408286:	c7 46 08 8a 00 00 00 	movl   $0x8a,0x8(%esi)
40828d:	ff 76 08             	push   0x8(%esi)
408290:	8b cf                	mov    %edi,%ecx
408292:	6a 08                	push   $0x8
408294:	ff 15 a8 b1 41 00    	call   *0x41b1a8
40829a:	ff d7                	call   *%edi
40829c:	59                   	pop    %ecx
40829d:	89 5e 08             	mov    %ebx,0x8(%esi)
4082a0:	eb 10                	jmp    0x4082b2
4082a2:	ff 71 04             	push   0x4(%ecx)
4082a5:	89 59 08             	mov    %ebx,0x8(%ecx)
4082a8:	8b cf                	mov    %edi,%ecx
4082aa:	ff 15 a8 b1 41 00    	call   *0x41b1a8
4082b0:	ff d7                	call   *%edi
4082b2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4082b5:	59                   	pop    %ecx
4082b6:	89 46 04             	mov    %eax,0x4(%esi)
4082b9:	83 c8 ff             	or     $0xffffffff,%eax
4082bc:	5f                   	pop    %edi
4082bd:	5b                   	pop    %ebx
4082be:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4082c1:	33 cd                	xor    %ebp,%ecx
4082c3:	5e                   	pop    %esi
4082c4:	e8 8d ac ff ff       	call   0x402f56
4082c9:	8b e5                	mov    %ebp,%esp
4082cb:	5d                   	pop    %ebp
4082cc:	c3                   	ret
4082cd:	8b ff                	mov    %edi,%edi
4082cf:	55                   	push   %ebp
4082d0:	8b ec                	mov    %esp,%ebp
4082d2:	33 c0                	xor    %eax,%eax
4082d4:	81 7d 08 63 73 6d e0 	cmpl   $0xe06d7363,0x8(%ebp)
4082db:	0f 94 c0             	sete   %al
4082de:	5d                   	pop    %ebp
4082df:	c3                   	ret
4082e0:	6a 0c                	push   $0xc
4082e2:	68 d8 1b 42 00       	push   $0x421bd8
4082e7:	e8 f4 ff 00 00       	call   0x4182e0
4082ec:	8b 75 10             	mov    0x10(%ebp),%esi
4082ef:	85 f6                	test   %esi,%esi
4082f1:	75 12                	jne    0x408305
4082f3:	e8 b4 b7 ff ff       	call   0x403aac
4082f8:	84 c0                	test   %al,%al
4082fa:	74 09                	je     0x408305
4082fc:	ff 75 08             	push   0x8(%ebp)
4082ff:	e8 36 01 00 00       	call   0x40843a
408304:	59                   	pop    %ecx
408305:	6a 02                	push   $0x2
408307:	e8 99 6b 00 00       	call   0x40eea5
40830c:	59                   	pop    %ecx
40830d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408311:	80 3d 38 3f 42 00 00 	cmpb   $0x0,0x423f38
408318:	0f 85 99 00 00 00    	jne    0x4083b7
40831e:	33 c0                	xor    %eax,%eax
408320:	40                   	inc    %eax
408321:	b9 30 3f 42 00       	mov    $0x423f30,%ecx
408326:	87 01                	xchg   %eax,(%ecx)
408328:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40832f:	8b 7d 0c             	mov    0xc(%ebp),%edi
408332:	85 ff                	test   %edi,%edi
408334:	75 3c                	jne    0x408372
408336:	8b 1d 0c 30 42 00    	mov    0x42300c,%ebx
40833c:	8b d3                	mov    %ebx,%edx
40833e:	83 e2 1f             	and    $0x1f,%edx
408341:	6a 20                	push   $0x20
408343:	59                   	pop    %ecx
408344:	2b ca                	sub    %edx,%ecx
408346:	33 c0                	xor    %eax,%eax
408348:	d3 c8                	ror    %cl,%eax
40834a:	33 c3                	xor    %ebx,%eax
40834c:	8b 0d 34 3f 42 00    	mov    0x423f34,%ecx
408352:	3b c8                	cmp    %eax,%ecx
408354:	74 15                	je     0x40836b
408356:	33 d9                	xor    %ecx,%ebx
408358:	33 c0                	xor    %eax,%eax
40835a:	50                   	push   %eax
40835b:	50                   	push   %eax
40835c:	50                   	push   %eax
40835d:	8b ca                	mov    %edx,%ecx
40835f:	d3 cb                	ror    %cl,%ebx
408361:	8b cb                	mov    %ebx,%ecx
408363:	ff 15 a8 b1 41 00    	call   *0x41b1a8
408369:	ff d3                	call   *%ebx
40836b:	68 5c 41 42 00       	push   $0x42415c
408370:	eb 0a                	jmp    0x40837c
408372:	83 ff 01             	cmp    $0x1,%edi
408375:	75 0b                	jne    0x408382
408377:	68 68 41 42 00       	push   $0x424168
40837c:	e8 ef 0c 00 00       	call   0x409070
408381:	59                   	pop    %ecx
408382:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408386:	85 ff                	test   %edi,%edi
408388:	75 11                	jne    0x40839b
40838a:	68 08 b2 41 00       	push   $0x41b208
40838f:	68 f8 b1 41 00       	push   $0x41b1f8
408394:	e8 e1 0f 00 00       	call   0x40937a
408399:	59                   	pop    %ecx
40839a:	59                   	pop    %ecx
40839b:	68 10 b2 41 00       	push   $0x41b210
4083a0:	68 0c b2 41 00       	push   $0x41b20c
4083a5:	e8 d0 0f 00 00       	call   0x40937a
4083aa:	59                   	pop    %ecx
4083ab:	59                   	pop    %ecx
4083ac:	85 f6                	test   %esi,%esi
4083ae:	75 07                	jne    0x4083b7
4083b0:	c6 05 38 3f 42 00 01 	movb   $0x1,0x423f38
4083b7:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4083be:	e8 27 00 00 00       	call   0x4083ea
4083c3:	85 f6                	test   %esi,%esi
4083c5:	75 2c                	jne    0x4083f3
4083c7:	ff 75 08             	push   0x8(%ebp)
4083ca:	e8 2a 00 00 00       	call   0x4083f9
4083cf:	8b 45 ec             	mov    -0x14(%ebp),%eax
4083d2:	8b 00                	mov    (%eax),%eax
4083d4:	ff 30                	push   (%eax)
4083d6:	e8 f2 fe ff ff       	call   0x4082cd
4083db:	83 c4 04             	add    $0x4,%esp
4083de:	c3                   	ret
4083df:	8b 65 e8             	mov    -0x18(%ebp),%esp
4083e2:	e8 8d 12 00 00       	call   0x409674
4083e7:	8b 75 10             	mov    0x10(%ebp),%esi
4083ea:	6a 02                	push   $0x2
4083ec:	e8 fc 6a 00 00       	call   0x40eeed
4083f1:	59                   	pop    %ecx
4083f2:	c3                   	ret
4083f3:	e8 31 ff 00 00       	call   0x418329
4083f8:	c3                   	ret
4083f9:	8b ff                	mov    %edi,%edi
4083fb:	55                   	push   %ebp
4083fc:	8b ec                	mov    %esp,%ebp
4083fe:	e8 b1 3d 00 00       	call   0x40c1b4
408403:	84 c0                	test   %al,%al
408405:	74 20                	je     0x408427
408407:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
40840d:	8b 40 68             	mov    0x68(%eax),%eax
408410:	c1 e8 08             	shr    $0x8,%eax
408413:	a8 01                	test   $0x1,%al
408415:	75 10                	jne    0x408427
408417:	ff 75 08             	push   0x8(%ebp)
40841a:	ff 15 b4 b0 41 00    	call   *0x41b0b4
408420:	50                   	push   %eax
408421:	ff 15 b8 b0 41 00    	call   *0x41b0b8
408427:	ff 75 08             	push   0x8(%ebp)
40842a:	e8 0b 00 00 00       	call   0x40843a
40842f:	59                   	pop    %ecx
408430:	ff 75 08             	push   0x8(%ebp)
408433:	ff 15 28 b1 41 00    	call   *0x41b128
408439:	cc                   	int3
40843a:	8b ff                	mov    %edi,%edi
40843c:	55                   	push   %ebp
40843d:	8b ec                	mov    %esp,%ebp
40843f:	51                   	push   %ecx
408440:	51                   	push   %ecx
408441:	a1 0c 30 42 00       	mov    0x42300c,%eax
408446:	33 c5                	xor    %ebp,%eax
408448:	89 45 fc             	mov    %eax,-0x4(%ebp)
40844b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40844f:	8d 45 f8             	lea    -0x8(%ebp),%eax
408452:	50                   	push   %eax
408453:	68 34 bf 41 00       	push   $0x41bf34
408458:	6a 00                	push   $0x0
40845a:	ff 15 24 b1 41 00    	call   *0x41b124
408460:	85 c0                	test   %eax,%eax
408462:	74 23                	je     0x408487
408464:	56                   	push   %esi
408465:	68 4c bf 41 00       	push   $0x41bf4c
40846a:	ff 75 f8             	push   -0x8(%ebp)
40846d:	ff 15 68 b0 41 00    	call   *0x41b068
408473:	8b f0                	mov    %eax,%esi
408475:	85 f6                	test   %esi,%esi
408477:	74 0d                	je     0x408486
408479:	ff 75 08             	push   0x8(%ebp)
40847c:	8b ce                	mov    %esi,%ecx
40847e:	ff 15 a8 b1 41 00    	call   *0x41b1a8
408484:	ff d6                	call   *%esi
408486:	5e                   	pop    %esi
408487:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40848b:	74 09                	je     0x408496
40848d:	ff 75 f8             	push   -0x8(%ebp)
408490:	ff 15 04 b1 41 00    	call   *0x41b104
408496:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408499:	33 cd                	xor    %ebp,%ecx
40849b:	e8 b6 aa ff ff       	call   0x402f56
4084a0:	8b e5                	mov    %ebp,%esp
4084a2:	5d                   	pop    %ebp
4084a3:	c3                   	ret
4084a4:	8b ff                	mov    %edi,%edi
4084a6:	55                   	push   %ebp
4084a7:	8b ec                	mov    %esp,%ebp