41a06e:	cc                   	int3
41a06f:	cc                   	int3
41a070:	53                   	push   %ebx
41a071:	8b dc                	mov    %esp,%ebx
41a073:	83 ec 08             	sub    $0x8,%esp
41a076:	83 e4 f8             	and    $0xfffffff8,%esp
41a079:	83 c4 04             	add    $0x4,%esp
41a07c:	55                   	push   %ebp
41a07d:	8b 6b 04             	mov    0x4(%ebx),%ebp
41a080:	89 6c 24 04          	mov    %ebp,0x4(%esp)
41a084:	8b ec                	mov    %esp,%ebp
41a086:	6a ff                	push   $0xffffffff
41a088:	68 0d e8 43 00       	push   $0x43e80d
41a08d:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41a093:	50                   	push   %eax
41a094:	53                   	push   %ebx
41a095:	83 ec 60             	sub    $0x60,%esp
41a098:	a1 14 40 45 00       	mov    0x454014,%eax
41a09d:	33 c5                	xor    %ebp,%eax
41a09f:	89 45 ec             	mov    %eax,-0x14(%ebp)
41a0a2:	56                   	push   %esi
41a0a3:	57                   	push   %edi
41a0a4:	50                   	push   %eax
41a0a5:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a0a8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41a0ae:	8b f1                	mov    %ecx,%esi
41a0b0:	33 c0                	xor    %eax,%eax
41a0b2:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
41a0b9:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
41a0c0:	c7 45 e8 07 00 00 00 	movl   $0x7,-0x18(%ebp)
41a0c7:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
41a0cb:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a0ce:	8d 45 c8             	lea    -0x38(%ebp),%eax
41a0d1:	50                   	push   %eax
41a0d2:	68 19 00 02 00       	push   $0x20019
41a0d7:	6a 00                	push   $0x0
41a0d9:	68 f8 f4 44 00       	push   $0x44f4f8
41a0de:	68 01 00 00 80       	push   $0x80000001
41a0e3:	ff 15 04 f0 43 00    	call   *0x43f004
41a0e9:	85 c0                	test   %eax,%eax
41a0eb:	0f 85 da 00 00 00    	jne    0x41a1cb
41a0f1:	89 45 d0             	mov    %eax,-0x30(%ebp)
41a0f4:	89 45 cc             	mov    %eax,-0x34(%ebp)
41a0f7:	8d 45 cc             	lea    -0x34(%ebp),%eax
41a0fa:	50                   	push   %eax
41a0fb:	6a 00                	push   $0x0
41a0fd:	8d 45 d0             	lea    -0x30(%ebp),%eax
41a100:	50                   	push   %eax
41a101:	6a 00                	push   $0x0
41a103:	68 24 f5 44 00       	push   $0x44f524
41a108:	ff 75 c8             	push   -0x38(%ebp)
41a10b:	ff 15 08 f0 43 00    	call   *0x43f008
41a111:	85 c0                	test   %eax,%eax
41a113:	0f 85 a9 00 00 00    	jne    0x41a1c2
41a119:	8b 45 cc             	mov    -0x34(%ebp),%eax
41a11c:	85 c0                	test   %eax,%eax
41a11e:	0f 84 9e 00 00 00    	je     0x41a1c2
41a124:	33 c9                	xor    %ecx,%ecx
41a126:	ba 02 00 00 00       	mov    $0x2,%edx
41a12b:	f7 e2                	mul    %edx
41a12d:	0f 90 c1             	seto   %cl
41a130:	f7 d9                	neg    %ecx
41a132:	0b c8                	or     %eax,%ecx
41a134:	51                   	push   %ecx
41a135:	e8 e1 1e 00 00       	call   0x41c01b
41a13a:	83 c4 04             	add    $0x4,%esp
41a13d:	8b f8                	mov    %eax,%edi
41a13f:	8d 45 cc             	lea    -0x34(%ebp),%eax
41a142:	89 7d c4             	mov    %edi,-0x3c(%ebp)
41a145:	50                   	push   %eax
41a146:	57                   	push   %edi
41a147:	8d 45 d0             	lea    -0x30(%ebp),%eax
41a14a:	50                   	push   %eax
41a14b:	6a 00                	push   $0x0
41a14d:	68 24 f5 44 00       	push   $0x44f524
41a152:	ff 75 c8             	push   -0x38(%ebp)
41a155:	ff 15 08 f0 43 00    	call   *0x43f008
41a15b:	85 c0                	test   %eax,%eax
41a15d:	75 5a                	jne    0x41a1b9
41a15f:	8b cf                	mov    %edi,%ecx
41a161:	8d 51 02             	lea    0x2(%ecx),%edx
41a164:	66 8b 01             	mov    (%ecx),%ax
41a167:	83 c1 02             	add    $0x2,%ecx
41a16a:	66 85 c0             	test   %ax,%ax
41a16d:	75 f5                	jne    0x41a164
41a16f:	2b ca                	sub    %edx,%ecx
41a171:	8b 55 e8             	mov    -0x18(%ebp),%edx
41a174:	d1 f9                	sar    $1,%ecx
41a176:	3b ca                	cmp    %edx,%ecx
41a178:	77 2e                	ja     0x41a1a8
41a17a:	8d 3c 09             	lea    (%ecx,%ecx,1),%edi
41a17d:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41a180:	83 fa 08             	cmp    $0x8,%edx
41a183:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41a186:	57                   	push   %edi
41a187:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
41a18b:	ff 75 c4             	push   -0x3c(%ebp)
41a18e:	89 45 bc             	mov    %eax,-0x44(%ebp)
41a191:	50                   	push   %eax
41a192:	e8 b9 32 00 00       	call   0x41d450
41a197:	8b 45 bc             	mov    -0x44(%ebp),%eax
41a19a:	83 c4 0c             	add    $0xc,%esp
41a19d:	33 c9                	xor    %ecx,%ecx
41a19f:	66 89 0c 38          	mov    %cx,(%eax,%edi,1)
41a1a3:	8b 7d c4             	mov    -0x3c(%ebp),%edi
41a1a6:	eb 11                	jmp    0x41a1b9
41a1a8:	57                   	push   %edi
41a1a9:	c6 45 bc 00          	movb   $0x0,-0x44(%ebp)
41a1ad:	ff 75 bc             	push   -0x44(%ebp)
41a1b0:	51                   	push   %ecx
41a1b1:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41a1b4:	e8 57 84 fe ff       	call   0x402610
41a1b9:	57                   	push   %edi
41a1ba:	e8 57 1e 00 00       	call   0x41c016
41a1bf:	83 c4 04             	add    $0x4,%esp
41a1c2:	ff 75 c8             	push   -0x38(%ebp)
41a1c5:	ff 15 00 f0 43 00    	call   *0x43f000
41a1cb:	0f 10 45 d4          	movups -0x2c(%ebp),%xmm0
41a1cf:	33 c0                	xor    %eax,%eax
41a1d1:	0f 11 45 90          	movups %xmm0,-0x70(%ebp)
41a1d5:	0f 11 45 a0          	movups %xmm0,-0x60(%ebp)
41a1d9:	f3 0f 7e 45 e4       	movq   -0x1c(%ebp),%xmm0
41a1de:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41a1e5:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
41a1e9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41a1ec:	8d 45 a0             	lea    -0x60(%ebp),%eax
41a1ef:	c7 45 e8 07 00 00 00 	movl   $0x7,-0x18(%ebp)
41a1f6:	66 0f d6 45 b0       	movq   %xmm0,-0x50(%ebp)
41a1fb:	66 0f d6 45 b8       	movq   %xmm0,-0x48(%ebp)
41a200:	3b f0                	cmp    %eax,%esi
41a202:	74 57                	je     0x41a25b
41a204:	8b 4e 14             	mov    0x14(%esi),%ecx
41a207:	83 f9 08             	cmp    $0x8,%ecx
41a20a:	72 31                	jb     0x41a23d
41a20c:	8b 06                	mov    (%esi),%eax
41a20e:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41a215:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41a21b:	72 16                	jb     0x41a233
41a21d:	8b 50 fc             	mov    -0x4(%eax),%edx
41a220:	83 c1 23             	add    $0x23,%ecx
41a223:	2b c2                	sub    %edx,%eax
41a225:	83 c0 fc             	add    $0xfffffffc,%eax
41a228:	83 f8 1f             	cmp    $0x1f,%eax
41a22b:	0f 87 55 0a 00 00    	ja     0x41ac86
41a231:	8b c2                	mov    %edx,%eax
41a233:	51                   	push   %ecx
41a234:	50                   	push   %eax
41a235:	e8 d4 16 00 00       	call   0x41b90e
41a23a:	83 c4 08             	add    $0x8,%esp
41a23d:	0f 10 45 90          	movups -0x70(%ebp),%xmm0
41a241:	33 c0                	xor    %eax,%eax
41a243:	b9 07 00 00 00       	mov    $0x7,%ecx
41a248:	66 89 45 a0          	mov    %ax,-0x60(%ebp)
41a24c:	0f 11 06             	movups %xmm0,(%esi)
41a24f:	f3 0f 7e 45 b8       	movq   -0x48(%ebp),%xmm0
41a254:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
41a259:	eb 03                	jmp    0x41a25e
41a25b:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
41a25e:	8d 7e 10             	lea    0x10(%esi),%edi
41a261:	89 7d c4             	mov    %edi,-0x3c(%ebp)
41a264:	83 f9 08             	cmp    $0x8,%ecx
41a267:	72 32                	jb     0x41a29b
41a269:	8b 55 a0             	mov    -0x60(%ebp),%edx
41a26c:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41a273:	8b c2                	mov    %edx,%eax
41a275:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41a27b:	72 14                	jb     0x41a291
41a27d:	8b 50 fc             	mov    -0x4(%eax),%edx
41a280:	83 c1 23             	add    $0x23,%ecx
41a283:	2b c2                	sub    %edx,%eax
41a285:	83 c0 fc             	add    $0xfffffffc,%eax
41a288:	83 f8 1f             	cmp    $0x1f,%eax
41a28b:	0f 87 f5 09 00 00    	ja     0x41ac86
41a291:	51                   	push   %ecx
41a292:	52                   	push   %edx
41a293:	e8 76 16 00 00       	call   0x41b90e
41a298:	83 c4 08             	add    $0x8,%esp
41a29b:	83 3f 00             	cmpl   $0x0,(%edi)
41a29e:	0f 85 c2 09 00 00    	jne    0x41ac66
41a2a4:	ff 15 20 f1 43 00    	call   *0x43f120
41a2aa:	0f b7 f8             	movzwl %ax,%edi
41a2ad:	8b c7                	mov    %edi,%eax
41a2af:	25 ff 03 00 00       	and    $0x3ff,%eax
41a2b4:	89 45 bc             	mov    %eax,-0x44(%ebp)
41a2b7:	ff 15 1c f1 43 00    	call   *0x43f11c
41a2bd:	0f b7 c0             	movzwl %ax,%eax
41a2c0:	8b d0                	mov    %eax,%edx
41a2c2:	66 c1 ef 0a          	shr    $0xa,%di
41a2c6:	66 c1 e8 0a          	shr    $0xa,%ax
41a2ca:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
41a2d0:	0f b7 c8             	movzwl %ax,%ecx
41a2d3:	0f b7 c7             	movzwl %di,%eax
41a2d6:	8b 7d bc             	mov    -0x44(%ebp),%edi
41a2d9:	66 3b d7             	cmp    %di,%dx
41a2dc:	0f 45 c8             	cmovne %eax,%ecx
41a2df:	0f b7 c7             	movzwl %di,%eax
41a2e2:	48                   	dec    %eax
41a2e3:	0f b7 c9             	movzwl %cx,%ecx
41a2e6:	83 f8 29             	cmp    $0x29,%eax
41a2e9:	0f 87 32 09 00 00    	ja     0x41ac21
41a2ef:	ff 24 85 8c ac 41 00 	jmp    *0x41ac8c(,%eax,4)
41a2f6:	8b 46 14             	mov    0x14(%esi),%eax
41a2f9:	83 f9 02             	cmp    $0x2,%ecx
41a2fc:	0f 85 22 09 00 00    	jne    0x41ac24
41a302:	83 f8 05             	cmp    $0x5,%eax
41a305:	72 2b                	jb     0x41a332
41a307:	83 f8 08             	cmp    $0x8,%eax
41a30a:	72 02                	jb     0x41a30e
41a30c:	8b 36                	mov    (%esi),%esi
41a30e:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41a311:	6a 0a                	push   $0xa
41a313:	68 3c f5 44 00       	push   $0x44f53c
41a318:	56                   	push   %esi
41a319:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
41a31f:	e8 2c 31 00 00       	call   0x41d450
41a324:	83 c4 0c             	add    $0xc,%esp
41a327:	33 c0                	xor    %eax,%eax
41a329:	66 89 46 0a          	mov    %ax,0xa(%esi)
41a32d:	e9 34 09 00 00       	jmp    0x41ac66
41a332:	68 3c f5 44 00       	push   $0x44f53c
41a337:	e9 1a 09 00 00       	jmp    0x41ac56
41a33c:	83 f9 05             	cmp    $0x5,%ecx
41a33f:	74 47                	je     0x41a388
41a341:	83 f9 07             	cmp    $0x7,%ecx
41a344:	74 42                	je     0x41a388
41a346:	83 f9 06             	cmp    $0x6,%ecx
41a349:	74 3d                	je     0x41a388
41a34b:	8b 46 14             	mov    0x14(%esi),%eax
41a34e:	83 f8 05             	cmp    $0x5,%eax
41a351:	72 2b                	jb     0x41a37e
41a353:	83 f8 08             	cmp    $0x8,%eax
41a356:	72 02                	jb     0x41a35a
41a358:	8b 36                	mov    (%esi),%esi
41a35a:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41a35d:	6a 0a                	push   $0xa
41a35f:	68 60 f5 44 00       	push   $0x44f560
41a364:	56                   	push   %esi
41a365:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
41a36b:	e8 e0 30 00 00       	call   0x41d450
41a370:	83 c4 0c             	add    $0xc,%esp
41a373:	33 c0                	xor    %eax,%eax
41a375:	66 89 46 0a          	mov    %ax,0xa(%esi)
41a379:	e9 e8 08 00 00       	jmp    0x41ac66
41a37e:	68 60 f5 44 00       	push   $0x44f560
41a383:	e9 ce 08 00 00       	jmp    0x41ac56
41a388:	8b 46 14             	mov    0x14(%esi),%eax
41a38b:	83 f8 05             	cmp    $0x5,%eax
41a38e:	72 2b                	jb     0x41a3bb
41a390:	83 f8 08             	cmp    $0x8,%eax
41a393:	72 02                	jb     0x41a397
41a395:	8b 36                	mov    (%esi),%esi
41a397:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41a39a:	6a 0a                	push   $0xa
41a39c:	68 54 f5 44 00       	push   $0x44f554
41a3a1:	56                   	push   %esi
41a3a2:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
41a3a8:	e8 a3 30 00 00       	call   0x41d450
41a3ad:	83 c4 0c             	add    $0xc,%esp
41a3b0:	33 c0                	xor    %eax,%eax
41a3b2:	66 89 46 0a          	mov    %ax,0xa(%esi)
41a3b6:	e9 ab 08 00 00       	jmp    0x41ac66
41a3bb:	68 54 f5 44 00       	push   $0x44f554
41a3c0:	e9 91 08 00 00       	jmp    0x41ac56
41a3c5:	8b 46 14             	mov    0x14(%esi),%eax
41a3c8:	83 f9 03             	cmp    $0x3,%ecx
41a3cb:	75 3a                	jne    0x41a407
41a3cd:	83 f8 05             	cmp    $0x5,%eax
41a3d0:	72 2b                	jb     0x41a3fd
41a3d2:	83 f8 08             	cmp    $0x8,%eax
41a3d5:	72 02                	jb     0x41a3d9
41a3d7:	8b 36                	mov    (%esi),%esi
41a3d9:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41a3dc:	6a 0a                	push   $0xa
41a3de:	68 6c f5 44 00       	push   $0x44f56c
41a3e3:	56                   	push   %esi
41a3e4:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
41a3ea:	e8 61 30 00 00       	call   0x41d450
41a3ef:	83 c4 0c             	add    $0xc,%esp
41a3f2:	33 c0                	xor    %eax,%eax
41a3f4:	66 89 46 0a          	mov    %ax,0xa(%esi)
41a3f8:	e9 69 08 00 00       	jmp    0x41ac66
41a3fd:	68 6c f5 44 00       	push   $0x44f56c
41a402:	e9 4f 08 00 00       	jmp    0x41ac56
41a407:	83 f8 05             	cmp    $0x5,%eax
41a40a:	72 2b                	jb     0x41a437
41a40c:	83 f8 08             	cmp    $0x8,%eax
41a40f:	72 02                	jb     0x41a413
41a411:	8b 36                	mov    (%esi),%esi
41a413:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41a416:	6a 0a                	push   $0xa
41a418:	68 78 f5 44 00       	push   $0x44f578
41a41d:	56                   	push   %esi
41a41e:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
41a424:	e8 27 30 00 00       	call   0x41d450
41a429:	83 c4 0c             	add    $0xc,%esp
41a42c:	33 c0                	xor    %eax,%eax
41a42e:	66 89 46 0a          	mov    %ax,0xa(%esi)
41a432:	e9 2f 08 00 00       	jmp    0x41ac66
41a437:	68 78 f5 44 00       	push   $0x44f578
41a43c:	e9 15 08 00 00       	jmp    0x41ac56
41a441:	8b 46 14             	mov    0x14(%esi),%eax
41a444:	83 f9 02             	cmp    $0x2,%ecx
41a447:	75 3a                	jne    0x41a483
41a449:	83 f8 05             	cmp    $0x5,%eax
41a44c:	72 2b                	jb     0x41a479
41a44e:	83 f8 08             	cmp    $0x8,%eax
41a451:	72 02                	jb     0x41a455
41a453:	8b 36                	mov    (%esi),%esi
41a455:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41a458:	6a 0a                	push   $0xa
41a45a:	68 84 f5 44 00       	push   $0x44f584
41a45f:	56                   	push   %esi
41a460:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
41a466:	e8 e5 2f 00 00       	call   0x41d450
41a46b:	83 c4 0c             	add    $0xc,%esp
41a46e:	33 c0                	xor    %eax,%eax
41a470:	66 89 46 0a          	mov    %ax,0xa(%esi)
41a474:	e9 ed 07 00 00       	jmp    0x41ac66
41a479:	68 84 f5 44 00       	push   $0x44f584
41a47e:	e9 d3 07 00 00       	jmp    0x41ac56
41a483:	83 f8 05             	cmp    $0x5,%eax
41a486:	72 2b                	jb     0x41a4b3
41a488:	83 f8 08             	cmp    $0x8,%eax
41a48b:	72 02                	jb     0x41a48f
41a48d:	8b 36                	mov    (%esi),%esi
41a48f:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41a492:	6a 0a                	push   $0xa
41a494:	68 90 f5 44 00       	push   $0x44f590
41a499:	56                   	push   %esi
41a49a:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
41a4a0:	e8 ab 2f 00 00       	call   0x41d450
41a4a5:	83 c4 0c             	add    $0xc,%esp
41a4a8:	33 c0                	xor    %eax,%eax
41a4aa:	66 89 46 0a          	mov    %ax,0xa(%esi)
41a4ae:	e9 b3 07 00 00       	jmp    0x41ac66
41a4b3:	68 90 f5 44 00       	push   $0x44f590
41a4b8:	e9 99 07 00 00       	jmp    0x41ac56
41a4bd:	83 f9 02             	cmp    $0x2,%ecx
41a4c0:	74 42                	je     0x41a504
41a4c2:	83 f9 04             	cmp    $0x4,%ecx
41a4c5:	74 3d                	je     0x41a504
41a4c7:	8b 46 14             	mov    0x14(%esi),%eax
41a4ca:	83 f8 05             	cmp    $0x5,%eax
41a4cd:	72 2b                	jb     0x41a4fa
41a4cf:	83 f8 08             	cmp    $0x8,%eax
41a4d2:	72 02                	jb     0x41a4d6
41a4d4:	8b 36                	mov    (%esi),%esi
41a4d6:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41a4d9:	6a 0a                	push   $0xa
41a4db:	68 a8 f5 44 00       	push   $0x44f5a8