40b2d0:	85 c0                	test   %eax,%eax
40b2d2:	74 24                	je     0x40b2f8
40b2d4:	8b 30                	mov    (%eax),%esi
40b2d6:	68 80 0d 4b 00       	push   $0x4b0d80
40b2db:	68 f8 0c 4b 00       	push   $0x4b0cf8
40b2e0:	68 60 ea 4a 00       	push   $0x4aea60
40b2e5:	8b 76 34             	mov    0x34(%esi),%esi
40b2e8:	8b ce                	mov    %esi,%ecx
40b2ea:	6a 32                	push   $0x32
40b2ec:	50                   	push   %eax
40b2ed:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40b2f3:	ff d6                	call   *%esi
40b2f5:	83 c4 14             	add    $0x14,%esp
40b2f8:	b8 02 00 00 00       	mov    $0x2,%eax
40b2fd:	5e                   	pop    %esi
40b2fe:	5b                   	pop    %ebx
40b2ff:	8b e5                	mov    %ebp,%esp
40b301:	5d                   	pop    %ebp
40b302:	c3                   	ret
40b303:	8b 4d 08             	mov    0x8(%ebp),%ecx
40b306:	83 ca ff             	or     $0xffffffff,%edx
40b309:	8b c1                	mov    %ecx,%eax
40b30b:	23 45 0c             	and    0xc(%ebp),%eax
40b30e:	83 f8 ff             	cmp    $0xffffffff,%eax
40b311:	0f 44 ca             	cmove  %edx,%ecx
40b314:	51                   	push   %ecx
40b315:	ff 36                	push   (%esi)
40b317:	ff 15 78 e0 49 00    	call   *0x49e078
40b31d:	33 db                	xor    %ebx,%ebx
40b31f:	85 c0                	test   %eax,%eax
40b321:	74 09                	je     0x40b32c
40b323:	3d 02 01 00 00       	cmp    $0x102,%eax
40b328:	0f 95 c3             	setne  %bl
40b32b:	43                   	inc    %ebx
40b32c:	ff 36                	push   (%esi)
40b32e:	ff 15 7c e1 49 00    	call   *0x49e17c
40b334:	5e                   	pop    %esi
40b335:	8b c3                	mov    %ebx,%eax
40b337:	5b                   	pop    %ebx
40b338:	8b e5                	mov    %ebp,%esp
40b33a:	5d                   	pop    %ebp
40b33b:	c3                   	ret
40b33c:	cc                   	int3
40b33d:	cc                   	int3
40b33e:	cc                   	int3
40b33f:	cc                   	int3
40b340:	55                   	push   %ebp
40b341:	8b ec                	mov    %esp,%ebp
40b343:	83 ec 0c             	sub    $0xc,%esp
40b346:	a1 14 40 4c 00       	mov    0x4c4014,%eax
40b34b:	33 c5                	xor    %ebp,%eax
40b34d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b350:	8b 55 08             	mov    0x8(%ebp),%edx
40b353:	8d 45 f4             	lea    -0xc(%ebp),%eax
40b356:	56                   	push   %esi
40b357:	8b f1                	mov    %ecx,%esi
40b359:	89 55 f4             	mov    %edx,-0xc(%ebp)
40b35c:	8d 4e 04             	lea    0x4(%esi),%ecx
40b35f:	c6 45 f8 01          	movb   $0x1,-0x8(%ebp)
40b363:	51                   	push   %ecx
40b364:	0f 57 c0             	xorps  %xmm0,%xmm0
40b367:	c7 06 a4 f8 49 00    	movl   $0x49f8a4,(%esi)
40b36d:	50                   	push   %eax
40b36e:	66 0f d6 01          	movq   %xmm0,(%ecx)
40b372:	e8 04 fa 05 00       	call   0x46ad7b
40b377:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b37a:	83 c4 08             	add    $0x8,%esp
40b37d:	8b c6                	mov    %esi,%eax
40b37f:	33 cd                	xor    %ebp,%ecx
40b381:	5e                   	pop    %esi
40b382:	e8 43 e6 05 00       	call   0x4699ca
40b387:	8b e5                	mov    %ebp,%esp
40b389:	5d                   	pop    %ebp
40b38a:	c2 04 00             	ret    $0x4
40b38d:	cc                   	int3
40b38e:	cc                   	int3
40b38f:	cc                   	int3
40b390:	55                   	push   %ebp
40b391:	8b ec                	mov    %esp,%ebp
40b393:	56                   	push   %esi
40b394:	8b f1                	mov    %ecx,%esi
40b396:	0f 57 c0             	xorps  %xmm0,%xmm0
40b399:	8d 46 04             	lea    0x4(%esi),%eax
40b39c:	50                   	push   %eax
40b39d:	c7 06 a4 f8 49 00    	movl   $0x49f8a4,(%esi)
40b3a3:	66 0f d6 00          	movq   %xmm0,(%eax)
40b3a7:	8b 45 08             	mov    0x8(%ebp),%eax
40b3aa:	83 c0 04             	add    $0x4,%eax
40b3ad:	50                   	push   %eax
40b3ae:	e8 c8 f9 05 00       	call   0x46ad7b
40b3b3:	83 c4 08             	add    $0x8,%esp
40b3b6:	c7 06 e0 f8 49 00    	movl   $0x49f8e0,(%esi)
40b3bc:	8b c6                	mov    %esi,%eax
40b3be:	5e                   	pop    %esi
40b3bf:	5d                   	pop    %ebp
40b3c0:	c2 04 00             	ret    $0x4
40b3c3:	cc                   	int3
40b3c4:	cc                   	int3
40b3c5:	cc                   	int3
40b3c6:	cc                   	int3
40b3c7:	cc                   	int3
40b3c8:	cc                   	int3
40b3c9:	cc                   	int3
40b3ca:	cc                   	int3
40b3cb:	cc                   	int3
40b3cc:	cc                   	int3
40b3cd:	cc                   	int3
40b3ce:	cc                   	int3
40b3cf:	cc                   	int3
40b3d0:	55                   	push   %ebp
40b3d1:	8b ec                	mov    %esp,%ebp
40b3d3:	8b 45 08             	mov    0x8(%ebp),%eax
40b3d6:	8b 55 0c             	mov    0xc(%ebp),%edx
40b3d9:	89 10                	mov    %edx,(%eax)
40b3db:	89 48 04             	mov    %ecx,0x4(%eax)
40b3de:	5d                   	pop    %ebp
40b3df:	c2 08 00             	ret    $0x8
40b3e2:	cc                   	int3
40b3e3:	cc                   	int3
40b3e4:	cc                   	int3
40b3e5:	cc                   	int3
40b3e6:	cc                   	int3
40b3e7:	cc                   	int3
40b3e8:	cc                   	int3
40b3e9:	cc                   	int3
40b3ea:	cc                   	int3
40b3eb:	cc                   	int3
40b3ec:	cc                   	int3
40b3ed:	cc                   	int3
40b3ee:	cc                   	int3
40b3ef:	cc                   	int3
40b3f0:	55                   	push   %ebp
40b3f1:	8b ec                	mov    %esp,%ebp
40b3f3:	83 ec 08             	sub    $0x8,%esp
40b3f6:	56                   	push   %esi
40b3f7:	57                   	push   %edi
40b3f8:	ff 75 08             	push   0x8(%ebp)
40b3fb:	8b f9                	mov    %ecx,%edi
40b3fd:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40b400:	51                   	push   %ecx
40b401:	8b 07                	mov    (%edi),%eax
40b403:	8b 70 0c             	mov    0xc(%eax),%esi
40b406:	8b ce                	mov    %esi,%ecx
40b408:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40b40e:	8b cf                	mov    %edi,%ecx
40b410:	ff d6                	call   *%esi
40b412:	8b 75 0c             	mov    0xc(%ebp),%esi
40b415:	8b 48 04             	mov    0x4(%eax),%ecx
40b418:	8b 56 04             	mov    0x4(%esi),%edx
40b41b:	8b 49 04             	mov    0x4(%ecx),%ecx
40b41e:	3b 4a 04             	cmp    0x4(%edx),%ecx
40b421:	75 10                	jne    0x40b433
40b423:	8b 00                	mov    (%eax),%eax
40b425:	3b 06                	cmp    (%esi),%eax
40b427:	75 0a                	jne    0x40b433
40b429:	5f                   	pop    %edi
40b42a:	b0 01                	mov    $0x1,%al
40b42c:	5e                   	pop    %esi
40b42d:	8b e5                	mov    %ebp,%esp
40b42f:	5d                   	pop    %ebp
40b430:	c2 08 00             	ret    $0x8
40b433:	5f                   	pop    %edi
40b434:	32 c0                	xor    %al,%al
40b436:	5e                   	pop    %esi
40b437:	8b e5                	mov    %ebp,%esp
40b439:	5d                   	pop    %ebp
40b43a:	c2 08 00             	ret    $0x8
40b43d:	cc                   	int3
40b43e:	cc                   	int3
40b43f:	cc                   	int3
40b440:	55                   	push   %ebp
40b441:	8b ec                	mov    %esp,%ebp
40b443:	8b 41 04             	mov    0x4(%ecx),%eax
40b446:	56                   	push   %esi
40b447:	8b 75 08             	mov    0x8(%ebp),%esi
40b44a:	8b 56 04             	mov    0x4(%esi),%edx
40b44d:	3b 42 04             	cmp    0x4(%edx),%eax
40b450:	75 0e                	jne    0x40b460
40b452:	8b 06                	mov    (%esi),%eax
40b454:	3b 45 0c             	cmp    0xc(%ebp),%eax
40b457:	75 07                	jne    0x40b460
40b459:	b0 01                	mov    $0x1,%al
40b45b:	5e                   	pop    %esi
40b45c:	5d                   	pop    %ebp
40b45d:	c2 08 00             	ret    $0x8
40b460:	32 c0                	xor    %al,%al
40b462:	5e                   	pop    %esi
40b463:	5d                   	pop    %ebp
40b464:	c2 08 00             	ret    $0x8
40b467:	cc                   	int3
40b468:	cc                   	int3
40b469:	cc                   	int3
40b46a:	cc                   	int3
40b46b:	cc                   	int3
40b46c:	cc                   	int3
40b46d:	cc                   	int3
40b46e:	cc                   	int3
40b46f:	cc                   	int3
40b470:	55                   	push   %ebp
40b471:	8b ec                	mov    %esp,%ebp
40b473:	8b 45 08             	mov    0x8(%ebp),%eax
40b476:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b479:	89 08                	mov    %ecx,(%eax)
40b47b:	c7 40 04 68 4e 4c 00 	movl   $0x4c4e68,0x4(%eax)
40b482:	5d                   	pop    %ebp
40b483:	c3                   	ret
40b484:	cc                   	int3
40b485:	cc                   	int3
40b486:	cc                   	int3
40b487:	cc                   	int3
40b488:	cc                   	int3
40b489:	cc                   	int3
40b48a:	cc                   	int3
40b48b:	cc                   	int3
40b48c:	cc                   	int3
40b48d:	cc                   	int3
40b48e:	cc                   	int3
40b48f:	cc                   	int3
40b490:	53                   	push   %ebx
40b491:	8b dc                	mov    %esp,%ebx
40b493:	83 ec 08             	sub    $0x8,%esp
40b496:	83 e4 f8             	and    $0xfffffff8,%esp
40b499:	83 c4 04             	add    $0x4,%esp
40b49c:	55                   	push   %ebp
40b49d:	8b 6b 04             	mov    0x4(%ebx),%ebp
40b4a0:	89 6c 24 04          	mov    %ebp,0x4(%esp)
40b4a4:	8b ec                	mov    %esp,%ebp
40b4a6:	6a ff                	push   $0xffffffff
40b4a8:	68 b5 7f 49 00       	push   $0x497fb5
40b4ad:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b4b3:	50                   	push   %eax
40b4b4:	53                   	push   %ebx
40b4b5:	83 ec 68             	sub    $0x68,%esp
40b4b8:	a1 14 40 4c 00       	mov    0x4c4014,%eax
40b4bd:	33 c5                	xor    %ebp,%eax
40b4bf:	89 45 ec             	mov    %eax,-0x14(%ebp)
40b4c2:	56                   	push   %esi
40b4c3:	57                   	push   %edi
40b4c4:	50                   	push   %eax
40b4c5:	8d 45 f4             	lea    -0xc(%ebp),%eax
40b4c8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40b4ce:	8b f9                	mov    %ecx,%edi
40b4d0:	89 7d d4             	mov    %edi,-0x2c(%ebp)
40b4d3:	8b 43 10             	mov    0x10(%ebx),%eax
40b4d6:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40b4d9:	50                   	push   %eax
40b4da:	89 7d d4             	mov    %edi,-0x2c(%ebp)
40b4dd:	e8 3e 82 ff ff       	call   0x403720
40b4e2:	8b 73 0c             	mov    0xc(%ebx),%esi
40b4e5:	8b 43 08             	mov    0x8(%ebx),%eax
40b4e8:	89 45 dc             	mov    %eax,-0x24(%ebp)
40b4eb:	89 75 d4             	mov    %esi,-0x2c(%ebp)
40b4ee:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40b4f1:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40b4f8:	8b 4d c8             	mov    -0x38(%ebp),%ecx
40b4fb:	85 c9                	test   %ecx,%ecx
40b4fd:	74 44                	je     0x40b543
40b4ff:	8b 55 cc             	mov    -0x34(%ebp),%edx
40b502:	8b c2                	mov    %edx,%eax
40b504:	2b c1                	sub    %ecx,%eax
40b506:	83 f8 02             	cmp    $0x2,%eax
40b509:	72 20                	jb     0x40b52b
40b50b:	8d 41 02             	lea    0x2(%ecx),%eax
40b50e:	83 fa 10             	cmp    $0x10,%edx
40b511:	89 45 c8             	mov    %eax,-0x38(%ebp)
40b514:	ba 3a 20 00 00       	mov    $0x203a,%edx
40b519:	8d 45 b8             	lea    -0x48(%ebp),%eax
40b51c:	0f 43 45 b8          	cmovae -0x48(%ebp),%eax
40b520:	66 89 14 08          	mov    %dx,(%eax,%ecx,1)
40b524:	c6 44 08 02 00       	movb   $0x0,0x2(%eax,%ecx,1)
40b529:	eb 18                	jmp    0x40b543
40b52b:	6a 02                	push   $0x2
40b52d:	68 bc 14 4b 00       	push   $0x4b14bc
40b532:	c6 45 e4 00          	movb   $0x0,-0x1c(%ebp)
40b536:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40b539:	ff 75 e4             	push   -0x1c(%ebp)
40b53c:	6a 02                	push   $0x2
40b53e:	e8 bd 68 00 00       	call   0x411e00
40b543:	8b 06                	mov    (%esi),%eax
40b545:	8d 4d a0             	lea    -0x60(%ebp),%ecx
40b548:	ff 75 dc             	push   -0x24(%ebp)
40b54b:	51                   	push   %ecx
40b54c:	8b 70 08             	mov    0x8(%eax),%esi
40b54f:	8b ce                	mov    %esi,%ecx
40b551:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40b557:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40b55a:	ff d6                	call   *%esi
40b55c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40b560:	8d 55 a0             	lea    -0x60(%ebp),%edx
40b563:	83 7d b4 10          	cmpl   $0x10,-0x4c(%ebp)
40b567:	8b 4d b0             	mov    -0x50(%ebp),%ecx
40b56a:	0f 43 55 a0          	cmovae -0x60(%ebp),%edx
40b56e:	8b 45 cc             	mov    -0x34(%ebp),%eax
40b571:	8b 75 c8             	mov    -0x38(%ebp),%esi
40b574:	2b c6                	sub    %esi,%eax
40b576:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40b579:	51                   	push   %ecx
40b57a:	52                   	push   %edx
40b57b:	3b c8                	cmp    %eax,%ecx
40b57d:	77 25                	ja     0x40b5a4
40b57f:	83 7d cc 10          	cmpl   $0x10,-0x34(%ebp)
40b583:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
40b586:	89 45 c8             	mov    %eax,-0x38(%ebp)
40b589:	8d 45 b8             	lea    -0x48(%ebp),%eax
40b58c:	0f 43 45 b8          	cmovae -0x48(%ebp),%eax
40b590:	03 f0                	add    %eax,%esi
40b592:	56                   	push   %esi
40b593:	e8 88 00 06 00       	call   0x46b620
40b598:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40b59b:	83 c4 0c             	add    $0xc,%esp
40b59e:	c6 04 06 00          	movb   $0x0,(%esi,%eax,1)
40b5a2:	eb 10                	jmp    0x40b5b4
40b5a4:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)
40b5a8:	ff 75 d4             	push   -0x2c(%ebp)
40b5ab:	51                   	push   %ecx
40b5ac:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40b5af:	e8 4c 68 00 00       	call   0x411e00
40b5b4:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
40b5b7:	83 f9 10             	cmp    $0x10,%ecx
40b5ba:	72 2c                	jb     0x40b5e8
40b5bc:	8b 55 a0             	mov    -0x60(%ebp),%edx
40b5bf:	41                   	inc    %ecx
40b5c0:	8b c2                	mov    %edx,%eax
40b5c2:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40b5c8:	72 14                	jb     0x40b5de
40b5ca:	8b 50 fc             	mov    -0x4(%eax),%edx
40b5cd:	83 c1 23             	add    $0x23,%ecx
40b5d0:	2b c2                	sub    %edx,%eax
40b5d2:	83 c0 fc             	add    $0xfffffffc,%eax
40b5d5:	83 f8 1f             	cmp    $0x1f,%eax
40b5d8:	0f 87 cb 00 00 00    	ja     0x40b6a9
40b5de:	51                   	push   %ecx
40b5df:	52                   	push   %edx
40b5e0:	e8 23 e4 05 00       	call   0x469a08
40b5e5:	83 c4 08             	add    $0x8,%esp
40b5e8:	0f 10 4d b8          	movups -0x48(%ebp),%xmm1
40b5ec:	8d 4d 88             	lea    -0x78(%ebp),%ecx
40b5ef:	c7 07 a4 f8 49 00    	movl   $0x49f8a4,(%edi)
40b5f5:	f3 0f 7e 45 c8       	movq   -0x38(%ebp),%xmm0
40b5fa:	66 0f d6 45 98       	movq   %xmm0,-0x68(%ebp)
40b5ff:	0f 57 c0             	xorps  %xmm0,%xmm0
40b602:	83 7d 9c 10          	cmpl   $0x10,-0x64(%ebp)
40b606:	66 0f 7e c8          	movd   %xmm1,%eax
40b60a:	66 0f d6 47 04       	movq   %xmm0,0x4(%edi)
40b60f:	0f 11 4d 88          	movups %xmm1,-0x78(%ebp)
40b613:	0f 43 c8             	cmovae %eax,%ecx
40b616:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
40b61d:	8d 47 04             	lea    0x4(%edi),%eax
40b620:	c7 45 cc 0f 00 00 00 	movl   $0xf,-0x34(%ebp)
40b627:	50                   	push   %eax