41b191:	89 75 f0             	mov    %esi,-0x10(%ebp)
41b194:	89 45 f8             	mov    %eax,-0x8(%ebp)
41b197:	e8 84 ff ff ff       	call   0x41b120
41b19c:	ff 75 10             	push   0x10(%ebp)
41b19f:	e8 58 31 00 00       	call   0x41e2fc
41b1a4:	8b 45 08             	mov    0x8(%ebp),%eax
41b1a7:	83 c4 10             	add    $0x10,%esp
41b1aa:	8b 7b 0c             	mov    0xc(%ebx),%edi
41b1ad:	f6 40 04 66          	testb  $0x66,0x4(%eax)
41b1b1:	75 5a                	jne    0x41b20d
41b1b3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41b1b6:	8b 45 10             	mov    0x10(%ebp),%eax
41b1b9:	89 45 e8             	mov    %eax,-0x18(%ebp)
41b1bc:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41b1bf:	89 43 fc             	mov    %eax,-0x4(%ebx)
41b1c2:	83 ff fe             	cmp    $0xfffffffe,%edi
41b1c5:	74 69                	je     0x41b230
41b1c7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41b1ca:	8d 47 02             	lea    0x2(%edi),%eax
41b1cd:	8d 04 47             	lea    (%edi,%eax,2),%eax
41b1d0:	8b 1c 81             	mov    (%ecx,%eax,4),%ebx
41b1d3:	8d 04 81             	lea    (%ecx,%eax,4),%eax
41b1d6:	8b 48 04             	mov    0x4(%eax),%ecx
41b1d9:	89 45 ec             	mov    %eax,-0x14(%ebp)
41b1dc:	85 c9                	test   %ecx,%ecx
41b1de:	74 14                	je     0x41b1f4
41b1e0:	8b d6                	mov    %esi,%edx
41b1e2:	e8 39 32 00 00       	call   0x41e420
41b1e7:	b1 01                	mov    $0x1,%cl
41b1e9:	88 4d ff             	mov    %cl,-0x1(%ebp)
41b1ec:	85 c0                	test   %eax,%eax
41b1ee:	78 14                	js     0x41b204
41b1f0:	7f 48                	jg     0x41b23a
41b1f2:	eb 03                	jmp    0x41b1f7
41b1f4:	8a 4d ff             	mov    -0x1(%ebp),%cl
41b1f7:	8b fb                	mov    %ebx,%edi
41b1f9:	83 fb fe             	cmp    $0xfffffffe,%ebx
41b1fc:	75 c9                	jne    0x41b1c7
41b1fe:	84 c9                	test   %cl,%cl
41b200:	74 2e                	je     0x41b230
41b202:	eb 20                	jmp    0x41b224
41b204:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
41b20b:	eb 17                	jmp    0x41b224
41b20d:	83 ff fe             	cmp    $0xfffffffe,%edi
41b210:	74 1e                	je     0x41b230
41b212:	68 14 50 45 00       	push   $0x455014
41b217:	56                   	push   %esi
41b218:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
41b21d:	8b cb                	mov    %ebx,%ecx
41b21f:	e8 5c 32 00 00       	call   0x41e480
41b224:	56                   	push   %esi
41b225:	ff 75 f8             	push   -0x8(%ebp)
41b228:	e8 f3 fe ff ff       	call   0x41b120
41b22d:	83 c4 08             	add    $0x8,%esp
41b230:	8b 45 f4             	mov    -0xc(%ebp),%eax
41b233:	5f                   	pop    %edi
41b234:	5e                   	pop    %esi
41b235:	5b                   	pop    %ebx
41b236:	8b e5                	mov    %ebp,%esp
41b238:	5d                   	pop    %ebp
41b239:	c3                   	ret
41b23a:	8b 45 08             	mov    0x8(%ebp),%eax
41b23d:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
41b243:	75 38                	jne    0x41b27d
41b245:	83 3d 40 f8 43 00 00 	cmpl   $0x0,0x43f840
41b24c:	74 2f                	je     0x41b27d
41b24e:	68 40 f8 43 00       	push   $0x43f840
41b253:	e8 68 ee 01 00       	call   0x43a0c0
41b258:	83 c4 04             	add    $0x4,%esp
41b25b:	85 c0                	test   %eax,%eax
41b25d:	74 1b                	je     0x41b27a
41b25f:	8b 35 40 f8 43 00    	mov    0x43f840,%esi
41b265:	8b ce                	mov    %esi,%ecx
41b267:	6a 01                	push   $0x1
41b269:	ff 75 08             	push   0x8(%ebp)
41b26c:	ff 15 5c e2 43 00    	call   *0x43e25c
41b272:	ff d6                	call   *%esi
41b274:	8b 75 f0             	mov    -0x10(%ebp),%esi
41b277:	83 c4 08             	add    $0x8,%esp
41b27a:	8b 45 08             	mov    0x8(%ebp),%eax
41b27d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41b280:	8b d0                	mov    %eax,%edx
41b282:	e8 d9 31 00 00       	call   0x41e460
41b287:	8b 45 0c             	mov    0xc(%ebp),%eax
41b28a:	39 78 0c             	cmp    %edi,0xc(%eax)
41b28d:	74 12                	je     0x41b2a1
41b28f:	68 14 50 45 00       	push   $0x455014
41b294:	56                   	push   %esi
41b295:	8b d7                	mov    %edi,%edx
41b297:	8b c8                	mov    %eax,%ecx
41b299:	e8 e2 31 00 00       	call   0x41e480
41b29e:	8b 45 0c             	mov    0xc(%ebp),%eax
41b2a1:	56                   	push   %esi
41b2a2:	ff 75 f8             	push   -0x8(%ebp)
41b2a5:	89 58 0c             	mov    %ebx,0xc(%eax)
41b2a8:	e8 73 fe ff ff       	call   0x41b120
41b2ad:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41b2b0:	83 c4 08             	add    $0x8,%esp
41b2b3:	8b d6                	mov    %esi,%edx
41b2b5:	8b 49 08             	mov    0x8(%ecx),%ecx
41b2b8:	e8 83 31 00 00       	call   0x41e440
41b2bd:	cc                   	int3
41b2be:	55                   	push   %ebp
41b2bf:	8b ec                	mov    %esp,%ebp
41b2c1:	57                   	push   %edi
41b2c2:	8b 7d 08             	mov    0x8(%ebp),%edi
41b2c5:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41b2c9:	74 48                	je     0x41b313
41b2cb:	8b 0f                	mov    (%edi),%ecx
41b2cd:	85 c9                	test   %ecx,%ecx
41b2cf:	74 42                	je     0x41b313
41b2d1:	8d 51 01             	lea    0x1(%ecx),%edx
41b2d4:	8a 01                	mov    (%ecx),%al
41b2d6:	41                   	inc    %ecx
41b2d7:	84 c0                	test   %al,%al
41b2d9:	75 f9                	jne    0x41b2d4
41b2db:	2b ca                	sub    %edx,%ecx
41b2dd:	53                   	push   %ebx
41b2de:	56                   	push   %esi
41b2df:	8d 59 01             	lea    0x1(%ecx),%ebx
41b2e2:	53                   	push   %ebx
41b2e3:	e8 76 87 00 00       	call   0x423a5e
41b2e8:	8b f0                	mov    %eax,%esi
41b2ea:	59                   	pop    %ecx
41b2eb:	85 f6                	test   %esi,%esi
41b2ed:	74 19                	je     0x41b308
41b2ef:	ff 37                	push   (%edi)
41b2f1:	53                   	push   %ebx
41b2f2:	56                   	push   %esi
41b2f3:	e8 41 86 00 00       	call   0x423939
41b2f8:	8b 45 0c             	mov    0xc(%ebp),%eax
41b2fb:	8b ce                	mov    %esi,%ecx
41b2fd:	83 c4 0c             	add    $0xc,%esp
41b300:	33 f6                	xor    %esi,%esi
41b302:	89 08                	mov    %ecx,(%eax)
41b304:	c6 40 04 01          	movb   $0x1,0x4(%eax)
41b308:	56                   	push   %esi
41b309:	e8 35 87 00 00       	call   0x423a43
41b30e:	59                   	pop    %ecx
41b30f:	5e                   	pop    %esi
41b310:	5b                   	pop    %ebx
41b311:	eb 0b                	jmp    0x41b31e
41b313:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41b316:	8b 07                	mov    (%edi),%eax
41b318:	89 01                	mov    %eax,(%ecx)
41b31a:	c6 41 04 00          	movb   $0x0,0x4(%ecx)
41b31e:	5f                   	pop    %edi
41b31f:	5d                   	pop    %ebp
41b320:	c3                   	ret
41b321:	55                   	push   %ebp
41b322:	8b ec                	mov    %esp,%ebp
41b324:	56                   	push   %esi
41b325:	8b 75 08             	mov    0x8(%ebp),%esi
41b328:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41b32c:	74 08                	je     0x41b336
41b32e:	ff 36                	push   (%esi)
41b330:	e8 0e 87 00 00       	call   0x423a43
41b335:	59                   	pop    %ecx
41b336:	83 26 00             	andl   $0x0,(%esi)
41b339:	c6 46 04 00          	movb   $0x0,0x4(%esi)
41b33d:	5e                   	pop    %esi
41b33e:	5d                   	pop    %ebp
41b33f:	c3                   	ret
41b340:	55                   	push   %ebp
41b341:	8b ec                	mov    %esp,%ebp
41b343:	8b 45 08             	mov    0x8(%ebp),%eax
41b346:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41b349:	3b c1                	cmp    %ecx,%eax
41b34b:	75 04                	jne    0x41b351
41b34d:	33 c0                	xor    %eax,%eax
41b34f:	5d                   	pop    %ebp
41b350:	c3                   	ret
41b351:	83 c1 05             	add    $0x5,%ecx
41b354:	83 c0 05             	add    $0x5,%eax
41b357:	8a 10                	mov    (%eax),%dl
41b359:	3a 11                	cmp    (%ecx),%dl
41b35b:	75 18                	jne    0x41b375
41b35d:	84 d2                	test   %dl,%dl
41b35f:	74 ec                	je     0x41b34d
41b361:	8a 50 01             	mov    0x1(%eax),%dl
41b364:	3a 51 01             	cmp    0x1(%ecx),%dl
41b367:	75 0c                	jne    0x41b375
41b369:	83 c0 02             	add    $0x2,%eax
41b36c:	83 c1 02             	add    $0x2,%ecx
41b36f:	84 d2                	test   %dl,%dl
41b371:	75 e4                	jne    0x41b357
41b373:	eb d8                	jmp    0x41b34d
41b375:	1b c0                	sbb    %eax,%eax
41b377:	83 c8 01             	or     $0x1,%eax
41b37a:	5d                   	pop    %ebp
41b37b:	c3                   	ret
41b37c:	a1 7c 69 45 00       	mov    0x45697c,%eax
41b381:	90                   	nop
41b382:	c3                   	ret
41b383:	cc                   	int3
41b384:	cc                   	int3
41b385:	cc                   	int3
41b386:	cc                   	int3
41b387:	cc                   	int3
41b388:	cc                   	int3
41b389:	cc                   	int3
41b38a:	cc                   	int3
41b38b:	cc                   	int3
41b38c:	cc                   	int3
41b38d:	cc                   	int3
41b38e:	cc                   	int3
41b38f:	cc                   	int3
41b390:	56                   	push   %esi
41b391:	e8 e6 ff ff ff       	call   0x41b37c
41b396:	8b f0                	mov    %eax,%esi
41b398:	85 f6                	test   %esi,%esi
41b39a:	74 0a                	je     0x41b3a6
41b39c:	8b ce                	mov    %esi,%ecx
41b39e:	ff 15 5c e2 43 00    	call   *0x43e25c
41b3a4:	ff d6                	call   *%esi
41b3a6:	e8 ae bf 00 00       	call   0x427359
41b3ab:	cc                   	int3
41b3ac:	55                   	push   %ebp
41b3ad:	8b ec                	mov    %esp,%ebp
41b3af:	51                   	push   %ecx
41b3b0:	51                   	push   %ecx
41b3b1:	57                   	push   %edi
41b3b2:	8b 7d 0c             	mov    0xc(%ebp),%edi
41b3b5:	33 c0                	xor    %eax,%eax
41b3b7:	0f b7 0f             	movzwl (%edi),%ecx
41b3ba:	0f b7 d1             	movzwl %cx,%edx
41b3bd:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41b3c0:	89 55 fc             	mov    %edx,-0x4(%ebp)
41b3c3:	66 3b c1             	cmp    %cx,%ax
41b3c6:	75 08                	jne    0x41b3d0
41b3c8:	8b 45 08             	mov    0x8(%ebp),%eax
41b3cb:	e9 37 02 00 00       	jmp    0x41b607
41b3d0:	83 3d bc 68 45 00 01 	cmpl   $0x1,0x4568bc
41b3d7:	56                   	push   %esi
41b3d8:	0f 8e f1 00 00 00    	jle    0x41b4cf
41b3de:	8b c7                	mov    %edi,%eax
41b3e0:	25 ff 0f 00 00       	and    $0xfff,%eax
41b3e5:	6a 02                	push   $0x2
41b3e7:	5e                   	pop    %esi
41b3e8:	3d f0 0f 00 00       	cmp    $0xff0,%eax
41b3ed:	77 05                	ja     0x41b3f4
41b3ef:	0f 10 07             	movups (%edi),%xmm0
41b3f2:	eb 2e                	jmp    0x41b422
41b3f4:	0f 28 05 50 f8 43 00 	movaps 0x43f850,%xmm0
41b3fb:	6a 08                	push   $0x8
41b3fd:	0f b7 d1             	movzwl %cx,%edx
41b400:	59                   	pop    %ecx
41b401:	0f b7 c2             	movzwl %dx,%eax
41b404:	66 0f 73 d8 02       	psrldq $0x2,%xmm0
41b409:	66 0f c4 c0 07       	pinsrw $0x7,%eax,%xmm0
41b40e:	33 c0                	xor    %eax,%eax
41b410:	66 3b c2             	cmp    %dx,%ax
41b413:	74 05                	je     0x41b41a
41b415:	03 fe                	add    %esi,%edi
41b417:	0f b7 17             	movzwl (%edi),%edx
41b41a:	83 e9 01             	sub    $0x1,%ecx
41b41d:	75 e2                	jne    0x41b401
41b41f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41b422:	8b 55 08             	mov    0x8(%ebp),%edx
41b425:	8b c2                	mov    %edx,%eax
41b427:	25 ff 0f 00 00       	and    $0xfff,%eax
41b42c:	3d f0 0f 00 00       	cmp    $0xff0,%eax
41b431:	77 5f                	ja     0x41b492
41b433:	66 0f 3a 63 02 0d    	pcmpistri $0xd,(%edx),%xmm0
41b439:	76 08                	jbe    0x41b443
41b43b:	83 c2 10             	add    $0x10,%edx
41b43e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41b441:	eb e2                	jmp    0x41b425
41b443:	0f 83 bb 01 00 00    	jae    0x41b604
41b449:	66 0f 3a 63 02 0d    	pcmpistri $0xd,(%edx),%xmm0
41b44f:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
41b452:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41b455:	8b fa                	mov    %edx,%edi
41b457:	8b c7                	mov    %edi,%eax
41b459:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41b45c:	25 ff 0f 00 00       	and    $0xfff,%eax
41b461:	3d f0 0f 00 00       	cmp    $0xff0,%eax
41b466:	77 44                	ja     0x41b4ac
41b468:	8b c1                	mov    %ecx,%eax
41b46a:	25 ff 0f 00 00       	and    $0xfff,%eax
41b46f:	3d f0 0f 00 00       	cmp    $0xff0,%eax
41b474:	77 36                	ja     0x41b4ac
41b476:	0f 10 09             	movups (%ecx),%xmm1
41b479:	66 0f 3a 63 0f 0d    	pcmpistri $0xd,(%edi),%xmm1
41b47f:	71 47                	jno    0x41b4c8
41b481:	0f 88 83 01 00 00    	js     0x41b60a
41b487:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41b48a:	83 c7 10             	add    $0x10,%edi
41b48d:	83 c1 10             	add    $0x10,%ecx
41b490:	eb c5                	jmp    0x41b457
41b492:	0f b7 02             	movzwl (%edx),%eax
41b495:	33 ff                	xor    %edi,%edi
41b497:	66 3b f8             	cmp    %ax,%di
41b49a:	0f 84 64 01 00 00    	je     0x41b604
41b4a0:	66 3b c1             	cmp    %cx,%ax
41b4a3:	74 ad                	je     0x41b452
41b4a5:	03 d6                	add    %esi,%edx
41b4a7:	e9 79 ff ff ff       	jmp    0x41b425
41b4ac:	0f b7 01             	movzwl (%ecx),%eax
41b4af:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41b4b3:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
41b4b7:	0f 84 4d 01 00 00    	je     0x41b60a
41b4bd:	66 39 07             	cmp    %ax,(%edi)
41b4c0:	75 06                	jne    0x41b4c8
41b4c2:	03 fe                	add    %esi,%edi
41b4c4:	03 ce                	add    %esi,%ecx
41b4c6:	eb 8f                	jmp    0x41b457
41b4c8:	03 d6                	add    %esi,%edx
41b4ca:	e9 6f ff ff ff       	jmp    0x41b43e
41b4cf:	0f 85 e3 00 00 00    	jne    0x41b5b8
41b4d5:	0f 28 1d 50 f8 43 00 	movaps 0x43f850,%xmm3
41b4dc:	0f b7 c1             	movzwl %cx,%eax
41b4df:	8b 4d 08             	mov    0x8(%ebp),%ecx
41b4e2:	6a 02                	push   $0x2
41b4e4:	5e                   	pop    %esi
41b4e5:	66 0f 6e c0          	movd   %eax,%xmm0
41b4e9:	f2 0f 70 c0 00       	pshuflw $0x0,%xmm0,%xmm0
41b4ee:	66 0f 70 e0 00       	pshufd $0x0,%xmm0,%xmm4
41b4f3:	8b c1                	mov    %ecx,%eax
41b4f5:	25 ff 0f 00 00       	and    $0xfff,%eax
41b4fa:	3d f0 0f 00 00       	cmp    $0xff0,%eax
41b4ff:	77 27                	ja     0x41b528
41b501:	0f 10 09             	movups (%ecx),%xmm1
41b504:	0f 28 c3             	movaps %xmm3,%xmm0
41b507:	66 0f 75 c1          	pcmpeqw %xmm1,%xmm0
41b50b:	66 0f 75 cc          	pcmpeqw %xmm4,%xmm1
41b50f:	66 0f eb c1          	por    %xmm1,%xmm0
41b513:	66 0f d7 c0          	pmovmskb %xmm0,%eax
41b517:	85 c0                	test   %eax,%eax
41b519:	75 05                	jne    0x41b520
41b51b:	83 c1 10             	add    $0x10,%ecx
41b51e:	eb d3                	jmp    0x41b4f3
41b520:	0f bc c0             	bsf    %eax,%eax
41b523:	d1 e8                	shr    $1,%eax
41b525:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
41b528:	0f b7 01             	movzwl (%ecx),%eax
41b52b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
41b52f:	66 39 45 f8          	cmp    %ax,-0x8(%ebp)
41b533:	0f 84 cb 00 00 00    	je     0x41b604
41b539:	66 3b d0             	cmp    %ax,%dx
41b53c:	75 6f                	jne    0x41b5ad
41b53e:	8b d1                	mov    %ecx,%edx
41b540:	8b c7                	mov    %edi,%eax
41b542:	25 ff 0f 00 00       	and    $0xfff,%eax
41b547:	3d f0 0f 00 00       	cmp    $0xff0,%eax
41b54c:	77 41                	ja     0x41b58f
41b54e:	8b c2                	mov    %edx,%eax
41b550:	25 ff 0f 00 00       	and    $0xfff,%eax
41b555:	3d f0 0f 00 00       	cmp    $0xff0,%eax
41b55a:	77 33                	ja     0x41b58f