40d092:	c3                   	ret
40d093:	cc                   	int3
40d094:	cc                   	int3
40d095:	cc                   	int3
40d096:	cc                   	int3
40d097:	cc                   	int3
40d098:	cc                   	int3
40d099:	cc                   	int3
40d09a:	cc                   	int3
40d09b:	cc                   	int3
40d09c:	cc                   	int3
40d09d:	cc                   	int3
40d09e:	cc                   	int3
40d09f:	cc                   	int3
40d0a0:	55                   	push   %ebp
40d0a1:	8b ec                	mov    %esp,%ebp
40d0a3:	57                   	push   %edi
40d0a4:	56                   	push   %esi
40d0a5:	53                   	push   %ebx
40d0a6:	8b 4d 10             	mov    0x10(%ebp),%ecx
40d0a9:	0b c9                	or     %ecx,%ecx
40d0ab:	74 4d                	je     0x40d0fa
40d0ad:	8b 75 08             	mov    0x8(%ebp),%esi
40d0b0:	8b 7d 0c             	mov    0xc(%ebp),%edi
40d0b3:	b7 41                	mov    $0x41,%bh
40d0b5:	b3 5a                	mov    $0x5a,%bl
40d0b7:	b6 20                	mov    $0x20,%dh
40d0b9:	8d 49 00             	lea    0x0(%ecx),%ecx
40d0bc:	8a 26                	mov    (%esi),%ah
40d0be:	0a e4                	or     %ah,%ah
40d0c0:	8a 07                	mov    (%edi),%al
40d0c2:	74 27                	je     0x40d0eb
40d0c4:	0a c0                	or     %al,%al
40d0c6:	74 23                	je     0x40d0eb
40d0c8:	83 c6 01             	add    $0x1,%esi
40d0cb:	83 c7 01             	add    $0x1,%edi
40d0ce:	3a e7                	cmp    %bh,%ah
40d0d0:	72 06                	jb     0x40d0d8
40d0d2:	3a e3                	cmp    %bl,%ah
40d0d4:	77 02                	ja     0x40d0d8
40d0d6:	02 e6                	add    %dh,%ah
40d0d8:	3a c7                	cmp    %bh,%al
40d0da:	72 06                	jb     0x40d0e2
40d0dc:	3a c3                	cmp    %bl,%al
40d0de:	77 02                	ja     0x40d0e2
40d0e0:	02 c6                	add    %dh,%al
40d0e2:	3a e0                	cmp    %al,%ah
40d0e4:	75 0b                	jne    0x40d0f1
40d0e6:	83 e9 01             	sub    $0x1,%ecx
40d0e9:	75 d1                	jne    0x40d0bc
40d0eb:	33 c9                	xor    %ecx,%ecx
40d0ed:	3a e0                	cmp    %al,%ah
40d0ef:	74 09                	je     0x40d0fa
40d0f1:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
40d0f6:	72 02                	jb     0x40d0fa
40d0f8:	f7 d9                	neg    %ecx
40d0fa:	8b c1                	mov    %ecx,%eax
40d0fc:	5b                   	pop    %ebx
40d0fd:	5e                   	pop    %esi
40d0fe:	5f                   	pop    %edi
40d0ff:	c9                   	leave
40d100:	c3                   	ret
40d101:	33 c0                	xor    %eax,%eax
40d103:	50                   	push   %eax
40d104:	50                   	push   %eax
40d105:	6a 03                	push   $0x3
40d107:	50                   	push   %eax
40d108:	6a 03                	push   $0x3
40d10a:	68 00 00 00 40       	push   $0x40000000
40d10f:	68 08 31 41 00       	push   $0x413108
40d114:	ff 15 18 f0 40 00    	call   *0x40f018
40d11a:	a3 60 68 41 00       	mov    %eax,0x416860
40d11f:	c3                   	ret
40d120:	8b 0d 60 68 41 00    	mov    0x416860,%ecx
40d126:	83 f9 fe             	cmp    $0xfffffffe,%ecx
40d129:	75 0b                	jne    0x40d136
40d12b:	e8 d1 ff ff ff       	call   0x40d101
40d130:	8b 0d 60 68 41 00    	mov    0x416860,%ecx
40d136:	33 c0                	xor    %eax,%eax
40d138:	83 f9 ff             	cmp    $0xffffffff,%ecx
40d13b:	0f 95 c0             	setne  %al
40d13e:	c3                   	ret
40d13f:	a1 60 68 41 00       	mov    0x416860,%eax
40d144:	83 f8 ff             	cmp    $0xffffffff,%eax
40d147:	74 0c                	je     0x40d155
40d149:	83 f8 fe             	cmp    $0xfffffffe,%eax
40d14c:	74 07                	je     0x40d155
40d14e:	50                   	push   %eax
40d14f:	ff 15 14 f0 40 00    	call   *0x40f014
40d155:	c3                   	ret
40d156:	8b ff                	mov    %edi,%edi
40d158:	55                   	push   %ebp
40d159:	8b ec                	mov    %esp,%ebp
40d15b:	56                   	push   %esi
40d15c:	6a 00                	push   $0x0
40d15e:	ff 75 10             	push   0x10(%ebp)
40d161:	ff 75 0c             	push   0xc(%ebp)
40d164:	ff 75 08             	push   0x8(%ebp)
40d167:	ff 35 60 68 41 00    	push   0x416860
40d16d:	ff 15 10 f0 40 00    	call   *0x40f010
40d173:	8b f0                	mov    %eax,%esi
40d175:	85 f6                	test   %esi,%esi
40d177:	75 2d                	jne    0x40d1a6
40d179:	ff 15 58 f0 40 00    	call   *0x40f058
40d17f:	83 f8 06             	cmp    $0x6,%eax
40d182:	75 22                	jne    0x40d1a6
40d184:	e8 b6 ff ff ff       	call   0x40d13f
40d189:	e8 73 ff ff ff       	call   0x40d101
40d18e:	56                   	push   %esi
40d18f:	ff 75 10             	push   0x10(%ebp)
40d192:	ff 75 0c             	push   0xc(%ebp)
40d195:	ff 75 08             	push   0x8(%ebp)
40d198:	ff 35 60 68 41 00    	push   0x416860
40d19e:	ff 15 10 f0 40 00    	call   *0x40f010
40d1a4:	8b f0                	mov    %eax,%esi
40d1a6:	8b c6                	mov    %esi,%eax
40d1a8:	5e                   	pop    %esi
40d1a9:	5d                   	pop    %ebp
40d1aa:	c3                   	ret
40d1ab:	6a 0c                	push   $0xc
40d1ad:	68 58 4d 41 00       	push   $0x414d58
40d1b2:	e8 59 62 ff ff       	call   0x403410
40d1b7:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40d1bb:	8b 45 08             	mov    0x8(%ebp),%eax
40d1be:	ff 30                	push   (%eax)
40d1c0:	e8 56 bf ff ff       	call   0x40911b
40d1c5:	59                   	pop    %ecx
40d1c6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40d1ca:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40d1cd:	8b 01                	mov    (%ecx),%eax
40d1cf:	8b 38                	mov    (%eax),%edi
40d1d1:	8b 71 04             	mov    0x4(%ecx),%esi
40d1d4:	8b d7                	mov    %edi,%edx
40d1d6:	c1 fa 06             	sar    $0x6,%edx
40d1d9:	8b c7                	mov    %edi,%eax
40d1db:	83 e0 3f             	and    $0x3f,%eax
40d1de:	6b c8 38             	imul   $0x38,%eax,%ecx
40d1e1:	8b 04 95 78 70 41 00 	mov    0x417078(,%edx,4),%eax
40d1e8:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
40d1ed:	74 0d                	je     0x40d1fc
40d1ef:	56                   	push   %esi
40d1f0:	57                   	push   %edi
40d1f1:	e8 e9 00 00 00       	call   0x40d2df
40d1f6:	59                   	pop    %ecx
40d1f7:	59                   	pop    %ecx
40d1f8:	8b f0                	mov    %eax,%esi
40d1fa:	eb 0e                	jmp    0x40d20a
40d1fc:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
40d200:	c7 46 18 09 00 00 00 	movl   $0x9,0x18(%esi)
40d207:	83 ce ff             	or     $0xffffffff,%esi
40d20a:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40d20d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40d214:	e8 17 00 00 00       	call   0x40d230
40d219:	8b c6                	mov    %esi,%eax
40d21b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40d21e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d225:	59                   	pop    %ecx
40d226:	5f                   	pop    %edi
40d227:	5e                   	pop    %esi
40d228:	5b                   	pop    %ebx
40d229:	c9                   	leave
40d22a:	c2 0c 00             	ret    $0xc
40d22d:	8b 75 e4             	mov    -0x1c(%ebp),%esi
40d230:	8b 45 10             	mov    0x10(%ebp),%eax
40d233:	ff 30                	push   (%eax)
40d235:	e8 04 bf ff ff       	call   0x40913e
40d23a:	59                   	pop    %ecx
40d23b:	c3                   	ret
40d23c:	8b ff                	mov    %edi,%edi
40d23e:	55                   	push   %ebp
40d23f:	8b ec                	mov    %esp,%ebp
40d241:	83 ec 14             	sub    $0x14,%esp
40d244:	56                   	push   %esi
40d245:	8b 75 08             	mov    0x8(%ebp),%esi
40d248:	83 fe fe             	cmp    $0xfffffffe,%esi
40d24b:	75 18                	jne    0x40d265
40d24d:	8b 45 0c             	mov    0xc(%ebp),%eax
40d250:	83 60 20 00          	andl   $0x0,0x20(%eax)
40d254:	c6 40 24 01          	movb   $0x1,0x24(%eax)
40d258:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
40d25c:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
40d263:	eb 74                	jmp    0x40d2d9
40d265:	85 f6                	test   %esi,%esi
40d267:	78 4b                	js     0x40d2b4
40d269:	3b 35 78 72 41 00    	cmp    0x417278,%esi
40d26f:	73 43                	jae    0x40d2b4
40d271:	8b c6                	mov    %esi,%eax
40d273:	8b d6                	mov    %esi,%edx
40d275:	83 e0 3f             	and    $0x3f,%eax
40d278:	c1 fa 06             	sar    $0x6,%edx
40d27b:	6b c8 38             	imul   $0x38,%eax,%ecx
40d27e:	8b 04 95 78 70 41 00 	mov    0x417078(,%edx,4),%eax
40d285:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
40d28a:	74 28                	je     0x40d2b4
40d28c:	8d 45 08             	lea    0x8(%ebp),%eax
40d28f:	89 75 f8             	mov    %esi,-0x8(%ebp)
40d292:	89 45 ec             	mov    %eax,-0x14(%ebp)
40d295:	8d 4d ff             	lea    -0x1(%ebp),%ecx
40d298:	8b 45 0c             	mov    0xc(%ebp),%eax
40d29b:	89 45 f0             	mov    %eax,-0x10(%ebp)
40d29e:	8d 45 f8             	lea    -0x8(%ebp),%eax
40d2a1:	50                   	push   %eax
40d2a2:	8d 45 ec             	lea    -0x14(%ebp),%eax
40d2a5:	89 75 f4             	mov    %esi,-0xc(%ebp)
40d2a8:	50                   	push   %eax
40d2a9:	8d 45 f4             	lea    -0xc(%ebp),%eax
40d2ac:	50                   	push   %eax
40d2ad:	e8 f9 fe ff ff       	call   0x40d1ab
40d2b2:	eb 28                	jmp    0x40d2dc
40d2b4:	8b 45 0c             	mov    0xc(%ebp),%eax
40d2b7:	33 c9                	xor    %ecx,%ecx
40d2b9:	50                   	push   %eax
40d2ba:	51                   	push   %ecx
40d2bb:	51                   	push   %ecx
40d2bc:	51                   	push   %ecx
40d2bd:	c6 40 24 01          	movb   $0x1,0x24(%eax)
40d2c1:	51                   	push   %ecx
40d2c2:	89 48 20             	mov    %ecx,0x20(%eax)
40d2c5:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
40d2c9:	51                   	push   %ecx
40d2ca:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
40d2d1:	e8 c9 89 ff ff       	call   0x405c9f
40d2d6:	83 c4 18             	add    $0x18,%esp
40d2d9:	83 c8 ff             	or     $0xffffffff,%eax
40d2dc:	5e                   	pop    %esi
40d2dd:	c9                   	leave
40d2de:	c3                   	ret
40d2df:	8b ff                	mov    %edi,%edi
40d2e1:	55                   	push   %ebp
40d2e2:	8b ec                	mov    %esp,%ebp
40d2e4:	56                   	push   %esi
40d2e5:	57                   	push   %edi
40d2e6:	8b 7d 08             	mov    0x8(%ebp),%edi
40d2e9:	57                   	push   %edi
40d2ea:	e8 03 bf ff ff       	call   0x4091f2
40d2ef:	59                   	pop    %ecx
40d2f0:	83 f8 ff             	cmp    $0xffffffff,%eax
40d2f3:	75 04                	jne    0x40d2f9
40d2f5:	33 f6                	xor    %esi,%esi
40d2f7:	eb 4e                	jmp    0x40d347
40d2f9:	a1 78 70 41 00       	mov    0x417078,%eax
40d2fe:	83 ff 01             	cmp    $0x1,%edi
40d301:	75 09                	jne    0x40d30c
40d303:	f6 80 98 00 00 00 01 	testb  $0x1,0x98(%eax)
40d30a:	75 0b                	jne    0x40d317
40d30c:	83 ff 02             	cmp    $0x2,%edi
40d30f:	75 1c                	jne    0x40d32d
40d311:	f6 40 60 01          	testb  $0x1,0x60(%eax)
40d315:	74 16                	je     0x40d32d
40d317:	6a 02                	push   $0x2
40d319:	e8 d4 be ff ff       	call   0x4091f2
40d31e:	6a 01                	push   $0x1
40d320:	8b f0                	mov    %eax,%esi
40d322:	e8 cb be ff ff       	call   0x4091f2
40d327:	59                   	pop    %ecx
40d328:	59                   	pop    %ecx
40d329:	3b c6                	cmp    %esi,%eax
40d32b:	74 c8                	je     0x40d2f5
40d32d:	57                   	push   %edi
40d32e:	e8 bf be ff ff       	call   0x4091f2
40d333:	59                   	pop    %ecx
40d334:	50                   	push   %eax
40d335:	ff 15 14 f0 40 00    	call   *0x40f014
40d33b:	85 c0                	test   %eax,%eax
40d33d:	75 b6                	jne    0x40d2f5
40d33f:	ff 15 58 f0 40 00    	call   *0x40f058
40d345:	8b f0                	mov    %eax,%esi
40d347:	57                   	push   %edi
40d348:	e8 14 be ff ff       	call   0x409161
40d34d:	59                   	pop    %ecx
40d34e:	8b cf                	mov    %edi,%ecx
40d350:	83 e7 3f             	and    $0x3f,%edi
40d353:	c1 f9 06             	sar    $0x6,%ecx
40d356:	6b d7 38             	imul   $0x38,%edi,%edx
40d359:	8b 0c 8d 78 70 41 00 	mov    0x417078(,%ecx,4),%ecx
40d360:	c6 44 11 28 00       	movb   $0x0,0x28(%ecx,%edx,1)
40d365:	85 f6                	test   %esi,%esi
40d367:	74 10                	je     0x40d379
40d369:	ff 75 0c             	push   0xc(%ebp)
40d36c:	56                   	push   %esi
40d36d:	e8 a7 a5 ff ff       	call   0x407919
40d372:	59                   	pop    %ecx
40d373:	59                   	pop    %ecx
40d374:	83 c8 ff             	or     $0xffffffff,%eax
40d377:	eb 02                	jmp    0x40d37b
40d379:	33 c0                	xor    %eax,%eax
40d37b:	5f                   	pop    %edi
40d37c:	5e                   	pop    %esi
40d37d:	5d                   	pop    %ebp
40d37e:	c3                   	ret
40d37f:	8b ff                	mov    %edi,%edi
40d381:	55                   	push   %ebp
40d382:	8b ec                	mov    %esp,%ebp
40d384:	8b 45 08             	mov    0x8(%ebp),%eax
40d387:	33 c9                	xor    %ecx,%ecx
40d389:	89 08                	mov    %ecx,(%eax)
40d38b:	8b 45 08             	mov    0x8(%ebp),%eax
40d38e:	89 48 04             	mov    %ecx,0x4(%eax)
40d391:	8b 45 08             	mov    0x8(%ebp),%eax
40d394:	89 48 08             	mov    %ecx,0x8(%eax)
40d397:	8b 45 08             	mov    0x8(%ebp),%eax
40d39a:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
40d39e:	8b 45 08             	mov    0x8(%ebp),%eax
40d3a1:	89 48 14             	mov    %ecx,0x14(%eax)
40d3a4:	8b 45 08             	mov    0x8(%ebp),%eax
40d3a7:	89 48 18             	mov    %ecx,0x18(%eax)
40d3aa:	8b 45 08             	mov    0x8(%ebp),%eax
40d3ad:	89 48 1c             	mov    %ecx,0x1c(%eax)
40d3b0:	8b 45 08             	mov    0x8(%ebp),%eax
40d3b3:	83 c0 0c             	add    $0xc,%eax
40d3b6:	87 08                	xchg   %ecx,(%eax)
40d3b8:	5d                   	pop    %ebp
40d3b9:	c3                   	ret
40d3ba:	6a 0a                	push   $0xa
40d3bc:	ff 15 40 f0 40 00    	call   *0x40f040
40d3c2:	a3 bc 73 41 00       	mov    %eax,0x4173bc
40d3c7:	33 c0                	xor    %eax,%eax
40d3c9:	c3                   	ret
40d3ca:	cc                   	int3
40d3cb:	cc                   	int3
40d3cc:	cc                   	int3
40d3cd:	cc                   	int3
40d3ce:	cc                   	int3
40d3cf:	cc                   	int3
40d3d0:	55                   	push   %ebp
40d3d1:	8b ec                	mov    %esp,%ebp
40d3d3:	83 ec 08             	sub    $0x8,%esp
40d3d6:	83 e4 f0             	and    $0xfffffff0,%esp
40d3d9:	dd 1c 24             	fstpl  (%esp)
40d3dc:	f3 0f 7e 04 24       	movq   (%esp),%xmm0
40d3e1:	e8 08 00 00 00       	call   0x40d3ee
40d3e6:	c9                   	leave
40d3e7:	c3                   	ret
40d3e8:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
40d3ee:	ba 00 00 00 00       	mov    $0x0,%edx
40d3f3:	66 0f 28 e8          	movapd %xmm0,%xmm5
40d3f7:	66 0f 14 c0          	unpcklpd %xmm0,%xmm0
40d3fb:	66 0f 73 d5 34       	psrlq  $0x34,%xmm5
40d400:	66 0f c5 cd 00       	pextrw $0x0,%xmm5,%ecx
40d405:	66 0f 28 0d 20 31 41 	movapd 0x413120,%xmm1
40d40c:	00
40d40d:	66 0f 28 15 30 31 41 	movapd 0x413130,%xmm2
40d414:	00
40d415:	66 0f 28 1d 90 31 41 	movapd 0x413190,%xmm3
40d41c:	00
40d41d:	66 0f 28 25 40 31 41 	movapd 0x413140,%xmm4
40d424:	00
40d425:	66 0f 28 35 50 31 41 	movapd 0x413150,%xmm6
40d42c:	00
40d42d:	66 0f 54 c1          	andpd  %xmm1,%xmm0