402660:	8b 50 fc             	mov    -0x4(%eax),%edx
402663:	83 c1 23             	add    $0x23,%ecx
402666:	2b c2                	sub    %edx,%eax
402668:	83 c0 fc             	add    $0xfffffffc,%eax
40266b:	83 f8 1f             	cmp    $0x1f,%eax
40266e:	0f 87 22 03 00 00    	ja     0x402996
402674:	51                   	push   %ecx
402675:	52                   	push   %edx
402676:	e8 8d 73 06 00       	call   0x469a08
40267b:	83 c4 08             	add    $0x8,%esp
40267e:	8b 75 ec             	mov    -0x14(%ebp),%esi
402681:	85 f6                	test   %esi,%esi
402683:	74 15                	je     0x40269a
402685:	8b ce                	mov    %esi,%ecx
402687:	e8 64 7c 02 00       	call   0x42a2f0
40268c:	68 c8 00 00 00       	push   $0xc8
402691:	56                   	push   %esi
402692:	e8 71 73 06 00       	call   0x469a08
402697:	83 c4 08             	add    $0x8,%esp
40269a:	8b 75 e8             	mov    -0x18(%ebp),%esi
40269d:	e9 b2 02 00 00       	jmp    0x402954
4026a2:	0f 57 c0             	xorps  %xmm0,%xmm0
4026a5:	66 0f 13 45 e0       	movlpd %xmm0,-0x20(%ebp)
4026aa:	68 c8 00 00 00       	push   $0xc8
4026af:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4026b6:	e8 1d 73 06 00       	call   0x4699d8
4026bb:	68 c8 00 00 00       	push   $0xc8
4026c0:	8b f0                	mov    %eax,%esi
4026c2:	6a 00                	push   $0x0
4026c4:	56                   	push   %esi
4026c5:	89 b5 f0 fe ff ff    	mov    %esi,-0x110(%ebp)
4026cb:	e8 e0 94 06 00       	call   0x46bbb0
4026d0:	83 c4 10             	add    $0x10,%esp
4026d3:	8b ce                	mov    %esi,%ecx
4026d5:	e8 06 7b 02 00       	call   0x42a1e0
4026da:	89 45 e0             	mov    %eax,-0x20(%ebp)
4026dd:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
4026e1:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4026e4:	6a 29                	push   $0x29
4026e6:	68 60 f1 4a 00       	push   $0x4af160
4026eb:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
4026f2:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
4026f9:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
402700:	e8 5b f9 ff ff       	call   0x402060
402705:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
402709:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40270c:	83 7d d8 08          	cmpl   $0x8,-0x28(%ebp)
402710:	0f 43 45 c4          	cmovae -0x3c(%ebp),%eax
402714:	8b f0                	mov    %eax,%esi
402716:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
40271c:	8d 4e 02             	lea    0x2(%esi),%ecx
40271f:	90                   	nop
402720:	66 8b 06             	mov    (%esi),%ax
402723:	83 c6 02             	add    $0x2,%esi
402726:	66 85 c0             	test   %ax,%ax
402729:	75 f5                	jne    0x402720
40272b:	2b f1                	sub    %ecx,%esi
40272d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
402730:	d1 fe                	sar    $1,%esi
402732:	e8 b9 7b 02 00       	call   0x42a2f0
402737:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40273a:	e8 31 7b 02 00       	call   0x42a270
40273f:	8b 45 e0             	mov    -0x20(%ebp),%eax
402742:	8d 8d e4 fe ff ff    	lea    -0x11c(%ebp),%ecx
402748:	8b 10                	mov    (%eax),%edx
40274a:	83 c0 04             	add    $0x4,%eax
40274d:	50                   	push   %eax
40274e:	83 ec 10             	sub    $0x10,%esp
402751:	8d 04 36             	lea    (%esi,%esi,1),%eax
402754:	50                   	push   %eax
402755:	ff b5 f4 fe ff ff    	push   -0x10c(%ebp)
40275b:	52                   	push   %edx
40275c:	e8 9f 76 02 00       	call   0x429e00
402761:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
402765:	83 c4 20             	add    $0x20,%esp
402768:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40276b:	83 f9 08             	cmp    $0x8,%ecx
40276e:	72 32                	jb     0x4027a2
402770:	8b 55 c4             	mov    -0x3c(%ebp),%edx
402773:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40277a:	8b c2                	mov    %edx,%eax
40277c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
402782:	72 14                	jb     0x402798
402784:	8b 50 fc             	mov    -0x4(%eax),%edx
402787:	83 c1 23             	add    $0x23,%ecx
40278a:	2b c2                	sub    %edx,%eax
40278c:	83 c0 fc             	add    $0xfffffffc,%eax
40278f:	83 f8 1f             	cmp    $0x1f,%eax
402792:	0f 87 f9 01 00 00    	ja     0x402991
402798:	51                   	push   %ecx
402799:	52                   	push   %edx
40279a:	e8 69 72 06 00       	call   0x469a08
40279f:	83 c4 08             	add    $0x8,%esp
4027a2:	8b 45 e0             	mov    -0x20(%ebp),%eax
4027a5:	8b 10                	mov    (%eax),%edx
4027a7:	85 d2                	test   %edx,%edx
4027a9:	74 1d                	je     0x4027c8
4027ab:	8b 52 10             	mov    0x10(%edx),%edx
4027ae:	85 d2                	test   %edx,%edx
4027b0:	74 16                	je     0x4027c8
4027b2:	8b 0a                	mov    (%edx),%ecx
4027b4:	8b c2                	mov    %edx,%eax
4027b6:	c1 e9 08             	shr    $0x8,%ecx
4027b9:	2b c1                	sub    %ecx,%eax
4027bb:	8b 00                	mov    (%eax),%eax
4027bd:	8d 48 e0             	lea    -0x20(%eax),%ecx
4027c0:	f7 d8                	neg    %eax
4027c2:	1b c0                	sbb    %eax,%eax
4027c4:	85 c1                	test   %eax,%ecx
4027c6:	75 02                	jne    0x4027ca
4027c8:	33 d2                	xor    %edx,%edx
4027ca:	33 c0                	xor    %eax,%eax
4027cc:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
4027d3:	89 95 f4 fe ff ff    	mov    %edx,-0x10c(%ebp)
4027d9:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
4027e0:	c7 45 d8 07 00 00 00 	movl   $0x7,-0x28(%ebp)
4027e7:	66 89 45 c4          	mov    %ax,-0x3c(%ebp)
4027eb:	68 b0 00 00 00       	push   $0xb0
4027f0:	50                   	push   %eax
4027f1:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
4027f7:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
4027fb:	50                   	push   %eax
4027fc:	e8 af 93 06 00       	call   0x46bbb0
402801:	83 c4 08             	add    $0x8,%esp
402804:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
40280a:	e8 91 14 01 00       	call   0x413ca0
40280f:	6a 00                	push   $0x0
402811:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
402815:	8d 8d 08 ff ff ff    	lea    -0xf8(%ebp),%ecx
40281b:	ff 75 ec             	push   -0x14(%ebp)
40281e:	e8 fd 42 01 00       	call   0x416b20
402823:	8d 55 c4             	lea    -0x3c(%ebp),%edx
402826:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
40282c:	e8 7f 60 01 00       	call   0x4188b0
402831:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
402837:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
40283b:	e8 d0 08 01 00       	call   0x413110
402840:	6a 07                	push   $0x7
402842:	68 b4 f1 4a 00       	push   $0x4af1b4
402847:	8d 8d d8 fe ff ff    	lea    -0x128(%ebp),%ecx
40284d:	c7 85 d8 fe ff ff 00 	movl   $0x0,-0x128(%ebp)
402854:	00 00 00
402857:	c7 85 e8 fe ff ff 00 	movl   $0x0,-0x118(%ebp)
40285e:	00 00 00
402861:	c7 85 ec fe ff ff 00 	movl   $0x0,-0x114(%ebp)
402868:	00 00 00
40286b:	e8 f0 f7 ff ff       	call   0x402060
402870:	8d 85 f0 fe ff ff    	lea    -0x110(%ebp),%eax
402876:	50                   	push   %eax
402877:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
40287d:	50                   	push   %eax
40287e:	8d 45 c4             	lea    -0x3c(%ebp),%eax
402881:	50                   	push   %eax
402882:	8d 85 d8 fe ff ff    	lea    -0x128(%ebp),%eax
402888:	50                   	push   %eax
402889:	e8 52 09 01 00       	call   0x4131e0
40288e:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
402894:	83 f9 08             	cmp    $0x8,%ecx
402897:	72 35                	jb     0x4028ce
402899:	8b 95 d8 fe ff ff    	mov    -0x128(%ebp),%edx
40289f:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4028a6:	8b c2                	mov    %edx,%eax
4028a8:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4028ae:	72 14                	jb     0x4028c4
4028b0:	8b 50 fc             	mov    -0x4(%eax),%edx
4028b3:	83 c1 23             	add    $0x23,%ecx
4028b6:	2b c2                	sub    %edx,%eax
4028b8:	83 c0 fc             	add    $0xfffffffc,%eax
4028bb:	83 f8 1f             	cmp    $0x1f,%eax
4028be:	0f 87 d2 00 00 00    	ja     0x402996
4028c4:	51                   	push   %ecx
4028c5:	52                   	push   %edx
4028c6:	e8 3d 71 06 00       	call   0x469a08
4028cb:	83 c4 08             	add    $0x8,%esp
4028ce:	8d 45 a8             	lea    -0x58(%ebp),%eax
4028d1:	50                   	push   %eax
4028d2:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4028d5:	e8 16 07 01 00       	call   0x412ff0
4028da:	0f 10 45 a8          	movups -0x58(%ebp),%xmm0
4028de:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4028e1:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
4028e7:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
4028ee:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
4028f5:	0f 11 07             	movups %xmm0,(%edi)
4028f8:	f3 0f 7e 45 b8       	movq   -0x48(%ebp),%xmm0
4028fd:	66 0f d6 47 10       	movq   %xmm0,0x10(%edi)
402902:	83 f9 08             	cmp    $0x8,%ecx
402905:	72 2e                	jb     0x402935
402907:	8b 55 c4             	mov    -0x3c(%ebp),%edx
40290a:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
402911:	8b c2                	mov    %edx,%eax
402913:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
402919:	72 10                	jb     0x40292b
40291b:	8b 50 fc             	mov    -0x4(%eax),%edx
40291e:	83 c1 23             	add    $0x23,%ecx
402921:	2b c2                	sub    %edx,%eax
402923:	83 c0 fc             	add    $0xfffffffc,%eax
402926:	83 f8 1f             	cmp    $0x1f,%eax
402929:	77 6b                	ja     0x402996
40292b:	51                   	push   %ecx
40292c:	52                   	push   %edx
40292d:	e8 d6 70 06 00       	call   0x469a08
402932:	83 c4 08             	add    $0x8,%esp
402935:	8b 75 e4             	mov    -0x1c(%ebp),%esi
402938:	85 f6                	test   %esi,%esi
40293a:	74 15                	je     0x402951
40293c:	8b ce                	mov    %esi,%ecx
40293e:	e8 ad 79 02 00       	call   0x42a2f0
402943:	68 c8 00 00 00       	push   $0xc8
402948:	56                   	push   %esi
402949:	e8 ba 70 06 00       	call   0x469a08
40294e:	83 c4 08             	add    $0x8,%esp
402951:	8b 75 e0             	mov    -0x20(%ebp),%esi
402954:	85 f6                	test   %esi,%esi
402956:	74 15                	je     0x40296d
402958:	8b ce                	mov    %esi,%ecx
40295a:	e8 91 79 02 00       	call   0x42a2f0
40295f:	68 c8 00 00 00       	push   $0xc8
402964:	56                   	push   %esi
402965:	e8 9e 70 06 00       	call   0x469a08
40296a:	83 c4 08             	add    $0x8,%esp
40296d:	8b c7                	mov    %edi,%eax
40296f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402972:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402979:	59                   	pop    %ecx
40297a:	5f                   	pop    %edi
40297b:	5e                   	pop    %esi
40297c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40297f:	33 cd                	xor    %ebp,%ecx
402981:	e8 44 70 06 00       	call   0x4699ca
402986:	8b e5                	mov    %ebp,%esp
402988:	5d                   	pop    %ebp
402989:	c2 04 00             	ret    $0x4
40298c:	e8 a0 6c 07 00       	call   0x479631
402991:	e8 9b 6c 07 00       	call   0x479631
402996:	e8 96 6c 07 00       	call   0x479631
40299b:	cc                   	int3
40299c:	cc                   	int3
40299d:	cc                   	int3
40299e:	cc                   	int3
40299f:	cc                   	int3
4029a0:	55                   	push   %ebp
4029a1:	8b ec                	mov    %esp,%ebp
4029a3:	6a ff                	push   $0xffffffff
4029a5:	68 47 74 49 00       	push   $0x497447
4029aa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4029b0:	50                   	push   %eax
4029b1:	83 ec 38             	sub    $0x38,%esp
4029b4:	a1 14 40 4c 00       	mov    0x4c4014,%eax
4029b9:	33 c5                	xor    %ebp,%eax
4029bb:	89 45 f0             	mov    %eax,-0x10(%ebp)
4029be:	53                   	push   %ebx
4029bf:	56                   	push   %esi
4029c0:	50                   	push   %eax
4029c1:	8d 45 f4             	lea    -0xc(%ebp),%eax
4029c4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4029ca:	8b 55 08             	mov    0x8(%ebp),%edx
4029cd:	8b ca                	mov    %edx,%ecx
4029cf:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
4029d6:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
4029dd:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
4029e4:	8d 71 02             	lea    0x2(%ecx),%esi
4029e7:	66 8b 01             	mov    (%ecx),%ax
4029ea:	83 c1 02             	add    $0x2,%ecx
4029ed:	66 85 c0             	test   %ax,%ax
4029f0:	75 f5                	jne    0x4029e7
4029f2:	2b ce                	sub    %esi,%ecx
4029f4:	d1 f9                	sar    $1,%ecx
4029f6:	51                   	push   %ecx
4029f7:	52                   	push   %edx
4029f8:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4029fb:	e8 60 f6 ff ff       	call   0x402060
402a00:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
402a07:	33 c0                	xor    %eax,%eax
402a09:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
402a10:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
402a17:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
402a1e:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
402a22:	50                   	push   %eax
402a23:	68 60 ea 4a 00       	push   $0x4aea60
402a28:	8d 4d d8             	lea    -0x28(%ebp),%ecx
402a2b:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
402a2f:	e8 cc 03 00 00       	call   0x402e00
402a34:	8d 55 d8             	lea    -0x28(%ebp),%edx
402a37:	8d 4d c0             	lea    -0x40(%ebp),%ecx
402a3a:	e8 71 50 02 00       	call   0x427ab0
402a3f:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
402a43:	76 6d                	jbe    0x402ab2
402a45:	8d 4d d8             	lea    -0x28(%ebp),%ecx
402a48:	e8 63 c6 00 00       	call   0x40f0b0
402a4d:	84 c0                	test   %al,%al
402a4f:	0f 85 c3 00 00 00    	jne    0x402b18
402a55:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
402a5a:	85 c0                	test   %eax,%eax
402a5c:	75 33                	jne    0x402a91
402a5e:	68 84 00 00 00       	push   $0x84
402a63:	e8 70 6f 06 00       	call   0x4699d8
402a68:	8b f0                	mov    %eax,%esi
402a6a:	89 75 bc             	mov    %esi,-0x44(%ebp)
402a6d:	68 84 00 00 00       	push   $0x84
402a72:	6a 00                	push   $0x0
402a74:	56                   	push   %esi
402a75:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
402a79:	e8 32 91 06 00       	call   0x46bbb0
402a7e:	83 c4 10             	add    $0x10,%esp
402a81:	8b ce                	mov    %esi,%ecx
402a83:	e8 f8 31 00 00       	call   0x405c80
402a88:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
402a8c:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
402a91:	8b 48 04             	mov    0x4(%eax),%ecx
402a94:	83 c0 04             	add    $0x4,%eax
402a97:	68 c8 f1 4a 00       	push   $0x4af1c8
402a9c:	68 60 ea 4a 00       	push   $0x4aea60
402aa1:	50                   	push   %eax
402aa2:	8b 71 24             	mov    0x24(%ecx),%esi
402aa5:	8b ce                	mov    %esi,%ecx
402aa7:	ff 15 d4 e2 49 00    	call   *0x49e2d4
402aad:	ff d6                	call   *%esi
402aaf:	83 c4 0c             	add    $0xc,%esp
402ab2:	32 db                	xor    %bl,%bl
402ab4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
402ab7:	83 f9 08             	cmp    $0x8,%ecx
402aba:	72 2e                	jb     0x402aea
402abc:	8b 55 d8             	mov    -0x28(%ebp),%edx
402abf:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
402ac6:	8b c2                	mov    %edx,%eax
402ac8:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
402ace:	72 10                	jb     0x402ae0
402ad0:	8b 50 fc             	mov    -0x4(%eax),%edx
402ad3:	83 c1 23             	add    $0x23,%ecx
402ad6:	2b c2                	sub    %edx,%eax
402ad8:	83 c0 fc             	add    $0xfffffffc,%eax
402adb:	83 f8 1f             	cmp    $0x1f,%eax
402ade:	77 65                	ja     0x402b45
402ae0:	51                   	push   %ecx
402ae1:	52                   	push   %edx
402ae2:	e8 21 6f 06 00       	call   0x469a08
402ae7:	83 c4 08             	add    $0x8,%esp
402aea:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
402aed:	83 f9 08             	cmp    $0x8,%ecx
402af0:	72 34                	jb     0x402b26
402af2:	8b 55 c0             	mov    -0x40(%ebp),%edx
402af5:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
402afc:	8b c2                	mov    %edx,%eax
402afe:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
402b04:	72 16                	jb     0x402b1c
402b06:	8b 50 fc             	mov    -0x4(%eax),%edx
402b09:	83 c1 23             	add    $0x23,%ecx
402b0c:	2b c2                	sub    %edx,%eax
402b0e:	83 c0 fc             	add    $0xfffffffc,%eax