408186:	8b c2                	mov    %edx,%eax
408188:	c7 81 94 00 00 00 08 	movl   $0x402a08,0x94(%ecx)
40818f:	2a 40 00
408192:	83 e0 40             	and    $0x40,%eax
408195:	c7 81 98 00 00 00 40 	movl   $0x402c40,0x98(%ecx)
40819c:	2c 40 00
40819f:	c7 81 9c 00 00 00 5c 	movl   $0x402c5c,0x9c(%ecx)
4081a6:	2c 40 00
4081a9:	c7 81 a0 00 00 00 06 	movl   $0x6,0xa0(%ecx)
4081b0:	00 00 00
4081b3:	c7 81 a4 00 00 00 01 	movl   $0x1,0xa4(%ecx)
4081ba:	00 00 00
4081bd:	89 81 a8 00 00 00    	mov    %eax,0xa8(%ecx)
4081c3:	8b c2                	mov    %edx,%eax
4081c5:	c7 81 ac 00 00 00 08 	movl   $0x402a08,0xac(%ecx)
4081cc:	2a 40 00
4081cf:	c7 81 b0 00 00 00 64 	movl   $0x402c64,0xb0(%ecx)
4081d6:	2c 40 00
4081d9:	c7 81 b4 00 00 00 84 	movl   $0x402c84,0xb4(%ecx)
4081e0:	2c 40 00
4081e3:	c7 81 b8 00 00 00 06 	movl   $0x6,0xb8(%ecx)
4081ea:	00 00 00
4081ed:	c7 81 bc 00 00 00 01 	movl   $0x1,0xbc(%ecx)
4081f4:	00 00 00
4081f7:	c1 e8 07             	shr    $0x7,%eax
4081fa:	f7 d0                	not    %eax
4081fc:	83 e0 01             	and    $0x1,%eax
4081ff:	89 81 c0 00 00 00    	mov    %eax,0xc0(%ecx)
408205:	c7 81 c4 00 00 00 08 	movl   $0x402a08,0xc4(%ecx)
40820c:	2a 40 00
40820f:	c7 81 c8 00 00 00 8c 	movl   $0x402c8c,0xc8(%ecx)
408216:	2c 40 00
408219:	c7 81 cc 00 00 00 d0 	movl   $0x402fd0,0xcc(%ecx)
408220:	2f 40 00
408223:	c7 81 d0 00 00 00 04 	movl   $0x4,0xd0(%ecx)
40822a:	00 00 00
40822d:	c7 81 d4 00 00 00 04 	movl   $0x4,0xd4(%ecx)
408234:	00 00 00
408237:	89 81 d8 00 00 00    	mov    %eax,0xd8(%ecx)
40823d:	c7 81 dc 00 00 00 08 	movl   $0x402a08,0xdc(%ecx)
408244:	2a 40 00
408247:	c7 81 e0 00 00 00 b0 	movl   $0x402cb0,0xe0(%ecx)
40824e:	2c 40 00
408251:	c7 81 e4 00 00 00 cc 	movl   $0x402bcc,0xe4(%ecx)
408258:	2b 40 00
40825b:	c7 81 e8 00 00 00 04 	movl   $0x4,0xe8(%ecx)
408262:	00 00 00
408265:	c7 81 ec 00 00 00 01 	movl   $0x1,0xec(%ecx)
40826c:	00 00 00
40826f:	c7 45 f8 0a 00 00 00 	movl   $0xa,-0x8(%ebp)
408276:	f6 c2 24             	test   $0x24,%dl
408279:	0f 84 29 02 00 00    	je     0x4084a8
40827f:	8d 45 f4             	lea    -0xc(%ebp),%eax
408282:	50                   	push   %eax
408283:	68 19 00 02 00       	push   $0x20019
408288:	56                   	push   %esi
408289:	68 cc 2c 40 00       	push   $0x402ccc
40828e:	ff 75 e8             	push   -0x18(%ebp)
408291:	ff 15 0c f0 40 00    	call   *0x40f00c
408297:	85 c0                	test   %eax,%eax
408299:	75 48                	jne    0x4082e3
40829b:	8d 45 fc             	lea    -0x4(%ebp),%eax
40829e:	50                   	push   %eax
40829f:	56                   	push   %esi
4082a0:	56                   	push   %esi
4082a1:	56                   	push   %esi
4082a2:	68 f8 2c 40 00       	push   $0x402cf8
4082a7:	ff 75 f4             	push   -0xc(%ebp)
4082aa:	ff 15 38 f0 40 00    	call   *0x40f038
4082b0:	85 c0                	test   %eax,%eax
4082b2:	75 2f                	jne    0x4082e3
4082b4:	ff 75 fc             	push   -0x4(%ebp)
4082b7:	6a 40                	push   $0x40
4082b9:	ff 15 a4 f0 40 00    	call   *0x40f0a4
4082bf:	8b c8                	mov    %eax,%ecx
4082c1:	8b 45 10             	mov    0x10(%ebp),%eax
4082c4:	89 08                	mov    %ecx,(%eax)
4082c6:	85 c9                	test   %ecx,%ecx
4082c8:	74 57                	je     0x408321
4082ca:	8d 45 fc             	lea    -0x4(%ebp),%eax
4082cd:	50                   	push   %eax
4082ce:	51                   	push   %ecx
4082cf:	56                   	push   %esi
4082d0:	56                   	push   %esi
4082d1:	68 f8 2c 40 00       	push   $0x402cf8
4082d6:	ff 75 f4             	push   -0xc(%ebp)
4082d9:	ff 15 38 f0 40 00    	call   *0x40f038
4082df:	85 c0                	test   %eax,%eax
4082e1:	74 3b                	je     0x40831e
4082e3:	8b 45 10             	mov    0x10(%ebp),%eax
4082e6:	39 30                	cmp    %esi,(%eax)
4082e8:	74 08                	je     0x4082f2
4082ea:	ff 30                	push   (%eax)
4082ec:	ff 15 5c f0 40 00    	call   *0x40f05c
4082f2:	57                   	push   %edi
4082f3:	6a 40                	push   $0x40
4082f5:	8b de                	mov    %esi,%ebx
4082f7:	ff 15 a4 f0 40 00    	call   *0x40f0a4
4082fd:	8b d0                	mov    %eax,%edx
4082ff:	8b 45 10             	mov    0x10(%ebp),%eax
408302:	89 10                	mov    %edx,(%eax)
408304:	85 d2                	test   %edx,%edx
408306:	74 19                	je     0x408321
408308:	8b 0d ec c1 40 00    	mov    0x40c1ec,%ecx
40830e:	89 0a                	mov    %ecx,(%edx)
408310:	8b 0d f0 c1 40 00    	mov    0x40c1f0,%ecx
408316:	89 4a 04             	mov    %ecx,0x4(%edx)
408319:	89 7d fc             	mov    %edi,-0x4(%ebp)
40831c:	eb 06                	jmp    0x408324
40831e:	8b 45 10             	mov    0x10(%ebp),%eax
408321:	8b 7d fc             	mov    -0x4(%ebp),%edi
408324:	8b 10                	mov    (%eax),%edx
408326:	85 d2                	test   %edx,%edx
408328:	0f 84 7f 01 00 00    	je     0x4084ad
40832e:	8b 45 f0             	mov    -0x10(%ebp),%eax
408331:	a8 20                	test   $0x20,%al
408333:	74 2c                	je     0x408361
408335:	b9 ff df ff ff       	mov    $0xffffdfff,%ecx
40833a:	85 db                	test   %ebx,%ebx
40833c:	75 0c                	jne    0x40834a
40833e:	8d 04 fd ff ff ff ff 	lea    -0x1(,%edi,8),%eax
408345:	83 f8 0d             	cmp    $0xd,%eax
408348:	72 09                	jb     0x408353
40834a:	21 0a                	and    %ecx,(%edx)
40834c:	85 db                	test   %ebx,%ebx
40834e:	75 0f                	jne    0x40835f
408350:	8b 7d fc             	mov    -0x4(%ebp),%edi
408353:	8d 04 fd ff ff ff ff 	lea    -0x1(,%edi,8),%eax
40835a:	83 f8 0d             	cmp    $0xd,%eax
40835d:	72 02                	jb     0x408361
40835f:	21 0a                	and    %ecx,(%edx)
408361:	6a 0b                	push   $0xb
408363:	5f                   	pop    %edi
408364:	89 7d f8             	mov    %edi,-0x8(%ebp)
408367:	39 75 ec             	cmp    %esi,-0x14(%ebp)
40836a:	0f 84 fa 00 00 00    	je     0x40846a
408370:	8b 3a                	mov    (%edx),%edi
408372:	83 e7 fd             	and    $0xfffffffd,%edi
408375:	89 3a                	mov    %edi,(%edx)
408377:	85 db                	test   %ebx,%ebx
408379:	75 0f                	jne    0x40838a
40837b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40837e:	8d 04 cd ff ff ff ff 	lea    -0x1(,%ecx,8),%eax
408385:	83 f8 09             	cmp    $0x9,%eax
408388:	72 0f                	jb     0x408399
40838a:	81 e7 ff fd ff ff    	and    $0xfffffdff,%edi
408390:	89 3a                	mov    %edi,(%edx)
408392:	85 db                	test   %ebx,%ebx
408394:	75 14                	jne    0x4083aa
408396:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408399:	8b c7                	mov    %edi,%eax
40839b:	89 45 f0             	mov    %eax,-0x10(%ebp)
40839e:	8d 04 cd ff ff ff ff 	lea    -0x1(,%ecx,8),%eax
4083a5:	83 f8 09             	cmp    $0x9,%eax
4083a8:	72 12                	jb     0x4083bc
4083aa:	8b c7                	mov    %edi,%eax
4083ac:	25 ff fd ff ff       	and    $0xfffffdff,%eax
4083b1:	89 02                	mov    %eax,(%edx)
4083b3:	85 db                	test   %ebx,%ebx
4083b5:	75 1b                	jne    0x4083d2
4083b7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4083ba:	eb 03                	jmp    0x4083bf
4083bc:	8b 45 f0             	mov    -0x10(%ebp),%eax
4083bf:	8b f8                	mov    %eax,%edi
4083c1:	8d 04 cd ff ff ff ff 	lea    -0x1(,%ecx,8),%eax
4083c8:	89 7d f0             	mov    %edi,-0x10(%ebp)
4083cb:	3b 45 f8             	cmp    -0x8(%ebp),%eax
4083ce:	72 13                	jb     0x4083e3
4083d0:	8b c7                	mov    %edi,%eax
4083d2:	8b f8                	mov    %eax,%edi
4083d4:	81 e7 ff f7 ff ff    	and    $0xfffff7ff,%edi
4083da:	89 3a                	mov    %edi,(%edx)
4083dc:	85 db                	test   %ebx,%ebx
4083de:	75 12                	jne    0x4083f2
4083e0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4083e3:	8d 04 cd ff ff ff ff 	lea    -0x1(,%ecx,8),%eax
4083ea:	89 7d e8             	mov    %edi,-0x18(%ebp)
4083ed:	3b 45 f8             	cmp    -0x8(%ebp),%eax
4083f0:	72 0f                	jb     0x408401
4083f2:	81 e7 ff f7 ff ff    	and    $0xfffff7ff,%edi
4083f8:	89 3a                	mov    %edi,(%edx)
4083fa:	85 db                	test   %ebx,%ebx
4083fc:	75 12                	jne    0x408410
4083fe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408401:	8d 04 cd ff ff ff ff 	lea    -0x1(,%ecx,8),%eax
408408:	89 7d e8             	mov    %edi,-0x18(%ebp)
40840b:	83 f8 0c             	cmp    $0xc,%eax
40840e:	72 0f                	jb     0x40841f
408410:	81 e7 ff ef ff ff    	and    $0xffffefff,%edi
408416:	89 3a                	mov    %edi,(%edx)
408418:	85 db                	test   %ebx,%ebx
40841a:	75 12                	jne    0x40842e
40841c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40841f:	8d 04 cd ff ff ff ff 	lea    -0x1(,%ecx,8),%eax
408426:	89 7d e8             	mov    %edi,-0x18(%ebp)
408429:	83 f8 0c             	cmp    $0xc,%eax
40842c:	72 06                	jb     0x408434
40842e:	81 e7 ff ef ff ff    	and    $0xffffefff,%edi
408434:	83 e7 f3             	and    $0xfffffff3,%edi
408437:	89 3a                	mov    %edi,(%edx)
408439:	85 db                	test   %ebx,%ebx
40843b:	75 0f                	jne    0x40844c
40843d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408440:	8d 04 cd ff ff ff ff 	lea    -0x1(,%ecx,8),%eax
408447:	83 f8 21             	cmp    $0x21,%eax
40844a:	72 0b                	jb     0x408457
40844c:	83 62 04 fd          	andl   $0xfffffffd,0x4(%edx)
408450:	85 db                	test   %ebx,%ebx
408452:	75 0f                	jne    0x408463
408454:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408457:	8d 04 cd ff ff ff ff 	lea    -0x1(,%ecx,8),%eax
40845e:	83 f8 21             	cmp    $0x21,%eax
408461:	72 04                	jb     0x408467
408463:	83 62 04 fd          	andl   $0xfffffffd,0x4(%edx)
408467:	8b 7d f8             	mov    -0x8(%ebp),%edi
40846a:	8b 45 08             	mov    0x8(%ebp),%eax
40846d:	8b 08                	mov    (%eax),%ecx
40846f:	c7 81 f0 00 00 00 01 	movl   $0x1,0xf0(%ecx)
408476:	00 00 00
408479:	c7 81 f4 00 00 00 08 	movl   $0x402a08,0xf4(%ecx)
408480:	2a 40 00
408483:	c7 81 f8 00 00 00 f8 	movl   $0x402cf8,0xf8(%ecx)
40848a:	2c 40 00
40848d:	89 91 fc 00 00 00    	mov    %edx,0xfc(%ecx)
408493:	8b 45 fc             	mov    -0x4(%ebp),%eax
408496:	89 81 00 01 00 00    	mov    %eax,0x100(%ecx)
40849c:	c7 81 04 01 00 00 03 	movl   $0x3,0x104(%ecx)
4084a3:	00 00 00
4084a6:	eb 08                	jmp    0x4084b0
4084a8:	6a 0a                	push   $0xa
4084aa:	5f                   	pop    %edi
4084ab:	eb 03                	jmp    0x4084b0
4084ad:	8b 7d f8             	mov    -0x8(%ebp),%edi
4084b0:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4084b4:	74 09                	je     0x4084bf
4084b6:	ff 75 f4             	push   -0xc(%ebp)
4084b9:	ff 15 00 f0 40 00    	call   *0x40f000
4084bf:	8b 45 0c             	mov    0xc(%ebp),%eax
4084c2:	89 38                	mov    %edi,(%eax)
4084c4:	8b c6                	mov    %esi,%eax
4084c6:	5f                   	pop    %edi
4084c7:	5e                   	pop    %esi
4084c8:	5b                   	pop    %ebx
4084c9:	c9                   	leave
4084ca:	c2 0c 00             	ret    $0xc
4084cd:	cc                   	int3
4084ce:	cc                   	int3
4084cf:	cc                   	int3
4084d0:	8b ff                	mov    %edi,%edi
4084d2:	55                   	push   %ebp
4084d3:	8b ec                	mov    %esp,%ebp
4084d5:	81 ec 88 00 00 00    	sub    $0x88,%esp
4084db:	a1 e4 c1 40 00       	mov    0x40c1e4,%eax
4084e0:	33 c5                	xor    %ebp,%eax
4084e2:	89 45 f8             	mov    %eax,-0x8(%ebp)
4084e5:	53                   	push   %ebx
4084e6:	8b 5d 08             	mov    0x8(%ebp),%ebx
4084e9:	56                   	push   %esi
4084ea:	33 f6                	xor    %esi,%esi
4084ec:	89 75 98             	mov    %esi,-0x68(%ebp)
4084ef:	57                   	push   %edi
4084f0:	8b fe                	mov    %esi,%edi
4084f2:	85 db                	test   %ebx,%ebx
4084f4:	75 0a                	jne    0x408500
4084f6:	bf 4f 05 00 00       	mov    $0x54f,%edi
4084fb:	e9 74 01 00 00       	jmp    0x408674
408500:	56                   	push   %esi
408501:	ff 15 00 00 41 00    	call   *0x410000
408507:	f6 03 02             	testb  $0x2,(%ebx)
40850a:	89 45 90             	mov    %eax,-0x70(%ebp)
40850d:	75 7d                	jne    0x40858c
40850f:	8b 73 04             	mov    0x4(%ebx),%esi
408512:	f7 de                	neg    %esi
408514:	1b f6                	sbb    %esi,%esi
408516:	83 c6 06             	add    $0x6,%esi
408519:	56                   	push   %esi
40851a:	ff 15 04 f1 40 00    	call   *0x40f104
408520:	85 c0                	test   %eax,%eax
408522:	75 66                	jne    0x40858a
408524:	ff 15 7c f0 40 00    	call   *0x40f07c
40852a:	83 3d 80 c0 40 00 02 	cmpl   $0x2,0x40c080
408531:	8b f8                	mov    %eax,%edi
408533:	76 55                	jbe    0x40858a
408535:	8d 45 94             	lea    -0x6c(%ebp),%eax
408538:	89 75 a0             	mov    %esi,-0x60(%ebp)
40853b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40853e:	33 f6                	xor    %esi,%esi
408540:	6a 04                	push   $0x4
408542:	59                   	pop    %ecx
408543:	8d 45 a0             	lea    -0x60(%ebp),%eax
408546:	89 4d ec             	mov    %ecx,-0x14(%ebp)
408549:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40854c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40854f:	89 4d dc             	mov    %ecx,-0x24(%ebp)
408552:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
408555:	50                   	push   %eax
408556:	89 7d 94             	mov    %edi,-0x6c(%ebp)
408559:	c7 45 9c 20 2d 40 00 	movl   $0x402d20,-0x64(%ebp)
408560:	89 75 e8             	mov    %esi,-0x18(%ebp)
408563:	89 75 f0             	mov    %esi,-0x10(%ebp)
408566:	89 75 d8             	mov    %esi,-0x28(%ebp)
408569:	89 75 e0             	mov    %esi,-0x20(%ebp)
40856c:	e8 7b b0 ff ff       	call   0x4035ec
408571:	8d 45 a4             	lea    -0x5c(%ebp),%eax
408574:	50                   	push   %eax
408575:	6a 05                	push   $0x5
408577:	56                   	push   %esi
408578:	56                   	push   %esi
408579:	68 ef 30 40 00       	push   $0x4030ef
40857e:	68 80 c0 40 00       	push   $0x40c080
408583:	e8 d8 af ff ff       	call   0x403560
408588:	eb 02                	jmp    0x40858c
40858a:	33 f6                	xor    %esi,%esi
40858c:	f6 03 01             	testb  $0x1,(%ebx)
40858f:	75 0f                	jne    0x4085a0
408591:	e8 c0 06 00 00       	call   0x408c56
408596:	8b f8                	mov    %eax,%edi
408598:	85 ff                	test   %edi,%edi
40859a:	0f 85 ab 00 00 00    	jne    0x40864b
4085a0:	f6 03 04             	testb  $0x4,(%ebx)
4085a3:	0f 85 a2 00 00 00    	jne    0x40864b
4085a9:	8d 45 98             	lea    -0x68(%ebp),%eax
4085ac:	50                   	push   %eax
4085ad:	68 6c 23 40 00       	push   $0x40236c
4085b2:	6a 17                	push   $0x17
4085b4:	56                   	push   %esi
4085b5:	68 7c 23 40 00       	push   $0x40237c
4085ba:	ff 15 24 f1 40 00    	call   *0x40f124
4085c0:	8b f0                	mov    %eax,%esi
4085c2:	85 f6                	test   %esi,%esi
4085c4:	74 2c                	je     0x4085f2
4085c6:	83 3d 80 c0 40 00 02 	cmpl   $0x2,0x40c080
4085cd:	76 1e                	jbe    0x4085ed
4085cf:	8d 45 9c             	lea    -0x64(%ebp),%eax
4085d2:	89 75 9c             	mov    %esi,-0x64(%ebp)
4085d5:	50                   	push   %eax
4085d6:	8d 45 a0             	lea    -0x60(%ebp),%eax
4085d9:	c7 45 a0 58 2d 40 00 	movl   $0x402d58,-0x60(%ebp)
4085e0:	50                   	push   %eax
4085e1:	51                   	push   %ecx
4085e2:	51                   	push   %ecx
4085e3:	ba 4d 31 40 00       	mov    $0x40314d,%edx
4085e8:	e8 bb b1 ff ff       	call   0x4037a8
4085ed:	0f b7 fe             	movzwl %si,%edi
4085f0:	eb 59                	jmp    0x40864b
4085f2:	6a 0b                	push   $0xb
4085f4:	58                   	pop    %eax
4085f5:	66 89 85 7c ff ff ff 	mov    %ax,-0x84(%ebp)
4085fc:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
408602:	33 c0                	xor    %eax,%eax