45bac0:	2b c2                	sub    %edx,%eax
45bac2:	83 c0 fc             	add    $0xfffffffc,%eax
45bac5:	83 f8 1f             	cmp    $0x1f,%eax
45bac8:	77 46                	ja     0x45bb10
45baca:	8b c2                	mov    %edx,%eax
45bacc:	51                   	push   %ecx
45bacd:	50                   	push   %eax
45bace:	e8 82 57 17 00       	call   0x5d1255
45bad3:	83 c4 08             	add    $0x8,%esp
45bad6:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
45badd:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
45bae4:	c6 06 00             	movb   $0x0,(%esi)
45bae7:	0f 10 07             	movups (%edi),%xmm0
45baea:	0f 11 06             	movups %xmm0,(%esi)
45baed:	f3 0f 7e 47 10       	movq   0x10(%edi),%xmm0
45baf2:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
45baf7:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
45bafe:	c7 47 14 0f 00 00 00 	movl   $0xf,0x14(%edi)
45bb05:	c6 07 00             	movb   $0x0,(%edi)
45bb08:	5f                   	pop    %edi
45bb09:	5e                   	pop    %esi
45bb0a:	8b e5                	mov    %ebp,%esp
45bb0c:	5d                   	pop    %ebp
45bb0d:	c2 0c 00             	ret    $0xc
45bb10:	e8 db a6 17 00       	call   0x5d61f0
45bb15:	cc                   	int3
45bb16:	cc                   	int3
45bb17:	cc                   	int3
45bb18:	cc                   	int3
45bb19:	cc                   	int3
45bb1a:	cc                   	int3
45bb1b:	cc                   	int3
45bb1c:	cc                   	int3
45bb1d:	cc                   	int3
45bb1e:	cc                   	int3
45bb1f:	cc                   	int3
45bb20:	55                   	push   %ebp
45bb21:	8b ec                	mov    %esp,%ebp
45bb23:	6a ff                	push   $0xffffffff
45bb25:	68 04 8a 5f 00       	push   $0x5f8a04
45bb2a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45bb30:	50                   	push   %eax
45bb31:	83 ec 08             	sub    $0x8,%esp
45bb34:	56                   	push   %esi
45bb35:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45bb3a:	33 c5                	xor    %ebp,%eax
45bb3c:	50                   	push   %eax
45bb3d:	8d 45 f4             	lea    -0xc(%ebp),%eax
45bb40:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45bb46:	8b f1                	mov    %ecx,%esi
45bb48:	8b 0e                	mov    (%esi),%ecx
45bb4a:	3b 4d 08             	cmp    0x8(%ebp),%ecx
45bb4d:	0f 85 91 00 00 00    	jne    0x45bbe4
45bb53:	8b 4d 10             	mov    0x10(%ebp),%ecx
45bb56:	85 c9                	test   %ecx,%ecx
45bb58:	75 4c                	jne    0x45bba6
45bb5a:	6a 18                	push   $0x18
45bb5c:	e8 c4 56 17 00       	call   0x5d1225
45bb61:	83 c4 04             	add    $0x4,%esp
45bb64:	89 45 08             	mov    %eax,0x8(%ebp)
45bb67:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45bb6e:	85 c0                	test   %eax,%eax
45bb70:	74 1e                	je     0x45bb90
45bb72:	ff 75 0c             	push   0xc(%ebp)
45bb75:	8b c8                	mov    %eax,%ecx
45bb77:	e8 a4 ab ff ff       	call   0x456720
45bb7c:	89 06                	mov    %eax,(%esi)
45bb7e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45bb81:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45bb88:	59                   	pop    %ecx
45bb89:	5e                   	pop    %esi
45bb8a:	8b e5                	mov    %ebp,%esp
45bb8c:	5d                   	pop    %ebp
45bb8d:	c2 0c 00             	ret    $0xc
45bb90:	33 c0                	xor    %eax,%eax
45bb92:	89 06                	mov    %eax,(%esi)
45bb94:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45bb97:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45bb9e:	59                   	pop    %ecx
45bb9f:	5e                   	pop    %esi
45bba0:	8b e5                	mov    %ebp,%esp
45bba2:	5d                   	pop    %ebp
45bba3:	c2 0c 00             	ret    $0xc
45bba6:	6a 00                	push   $0x0
45bba8:	6a 18                	push   $0x18
45bbaa:	8d 45 ec             	lea    -0x14(%ebp),%eax
45bbad:	50                   	push   %eax
45bbae:	e8 3d f7 ff ff       	call   0x45b2f0
45bbb3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45bbb6:	8b 45 ec             	mov    -0x14(%ebp),%eax
45bbb9:	ff 75 0c             	push   0xc(%ebp)
45bbbc:	89 01                	mov    %eax,(%ecx)
45bbbe:	8b 45 f0             	mov    -0x10(%ebp),%eax
45bbc1:	c7 40 04 80 92 45 00 	movl   $0x459280,0x4(%eax)
45bbc8:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45bbcb:	e8 50 ab ff ff       	call   0x456720
45bbd0:	89 06                	mov    %eax,(%esi)
45bbd2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45bbd5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45bbdc:	59                   	pop    %ecx
45bbdd:	5e                   	pop    %esi
45bbde:	8b e5                	mov    %ebp,%esp
45bbe0:	5d                   	pop    %ebp
45bbe1:	c2 0c 00             	ret    $0xc
45bbe4:	8b 45 0c             	mov    0xc(%ebp),%eax
45bbe7:	8b d0                	mov    %eax,%edx
45bbe9:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
45bbed:	72 02                	jb     0x45bbf1
45bbef:	8b 10                	mov    (%eax),%edx
45bbf1:	ff 70 10             	push   0x10(%eax)
45bbf4:	52                   	push   %edx
45bbf5:	e8 26 ba fe ff       	call   0x447620
45bbfa:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45bbfd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45bc04:	59                   	pop    %ecx
45bc05:	5e                   	pop    %esi
45bc06:	8b e5                	mov    %ebp,%esp
45bc08:	5d                   	pop    %ebp
45bc09:	c2 0c 00             	ret    $0xc
45bc0c:	cc                   	int3
45bc0d:	cc                   	int3
45bc0e:	cc                   	int3
45bc0f:	cc                   	int3
45bc10:	55                   	push   %ebp
45bc11:	8b ec                	mov    %esp,%ebp
45bc13:	c7 45 08 18 3e 69 00 	movl   $0x693e18,0x8(%ebp)
45bc1a:	5d                   	pop    %ebp
45bc1b:	e9 d0 fd ff ff       	jmp    0x45b9f0
45bc20:	55                   	push   %ebp
45bc21:	8b ec                	mov    %esp,%ebp
45bc23:	6a ff                	push   $0xffffffff
45bc25:	68 44 8a 5f 00       	push   $0x5f8a44
45bc2a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45bc30:	50                   	push   %eax
45bc31:	83 ec 08             	sub    $0x8,%esp
45bc34:	56                   	push   %esi
45bc35:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45bc3a:	33 c5                	xor    %ebp,%eax
45bc3c:	50                   	push   %eax
45bc3d:	8d 45 f4             	lea    -0xc(%ebp),%eax
45bc40:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45bc46:	8b f1                	mov    %ecx,%esi
45bc48:	8b 0e                	mov    (%esi),%ecx
45bc4a:	81 f9 18 3e 69 00    	cmp    $0x693e18,%ecx
45bc50:	0f 85 91 00 00 00    	jne    0x45bce7
45bc56:	8b 4d 10             	mov    0x10(%ebp),%ecx
45bc59:	85 c9                	test   %ecx,%ecx
45bc5b:	75 4c                	jne    0x45bca9
45bc5d:	6a 18                	push   $0x18
45bc5f:	e8 c1 55 17 00       	call   0x5d1225
45bc64:	83 c4 04             	add    $0x4,%esp
45bc67:	89 45 10             	mov    %eax,0x10(%ebp)
45bc6a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45bc71:	85 c0                	test   %eax,%eax
45bc73:	74 1e                	je     0x45bc93
45bc75:	ff 75 0c             	push   0xc(%ebp)
45bc78:	8b c8                	mov    %eax,%ecx
45bc7a:	e8 a1 aa ff ff       	call   0x456720
45bc7f:	89 06                	mov    %eax,(%esi)
45bc81:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45bc84:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45bc8b:	59                   	pop    %ecx
45bc8c:	5e                   	pop    %esi
45bc8d:	8b e5                	mov    %ebp,%esp
45bc8f:	5d                   	pop    %ebp
45bc90:	c2 0c 00             	ret    $0xc
45bc93:	33 c0                	xor    %eax,%eax
45bc95:	89 06                	mov    %eax,(%esi)
45bc97:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45bc9a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45bca1:	59                   	pop    %ecx
45bca2:	5e                   	pop    %esi
45bca3:	8b e5                	mov    %ebp,%esp
45bca5:	5d                   	pop    %ebp
45bca6:	c2 0c 00             	ret    $0xc
45bca9:	6a 00                	push   $0x0
45bcab:	6a 18                	push   $0x18
45bcad:	8d 45 ec             	lea    -0x14(%ebp),%eax
45bcb0:	50                   	push   %eax
45bcb1:	e8 3a f6 ff ff       	call   0x45b2f0
45bcb6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45bcb9:	8b 45 ec             	mov    -0x14(%ebp),%eax
45bcbc:	ff 75 0c             	push   0xc(%ebp)
45bcbf:	89 01                	mov    %eax,(%ecx)
45bcc1:	8b 45 f0             	mov    -0x10(%ebp),%eax
45bcc4:	c7 40 04 80 92 45 00 	movl   $0x459280,0x4(%eax)
45bccb:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45bcce:	e8 4d aa ff ff       	call   0x456720
45bcd3:	89 06                	mov    %eax,(%esi)
45bcd5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45bcd8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45bcdf:	59                   	pop    %ecx
45bce0:	5e                   	pop    %esi
45bce1:	8b e5                	mov    %ebp,%esp
45bce3:	5d                   	pop    %ebp
45bce4:	c2 0c 00             	ret    $0xc
45bce7:	8b 45 0c             	mov    0xc(%ebp),%eax
45bcea:	8b d0                	mov    %eax,%edx
45bcec:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
45bcf0:	72 02                	jb     0x45bcf4
45bcf2:	8b 10                	mov    (%eax),%edx
45bcf4:	ff 70 10             	push   0x10(%eax)
45bcf7:	52                   	push   %edx
45bcf8:	e8 23 b9 fe ff       	call   0x447620
45bcfd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45bd00:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45bd07:	59                   	pop    %ecx
45bd08:	5e                   	pop    %esi
45bd09:	8b e5                	mov    %ebp,%esp
45bd0b:	5d                   	pop    %ebp
45bd0c:	c2 0c 00             	ret    $0xc
45bd0f:	cc                   	int3
45bd10:	55                   	push   %ebp
45bd11:	8b ec                	mov    %esp,%ebp
45bd13:	53                   	push   %ebx
45bd14:	8b 5d 08             	mov    0x8(%ebp),%ebx
45bd17:	56                   	push   %esi
45bd18:	57                   	push   %edi
45bd19:	8b 7d 10             	mov    0x10(%ebp),%edi
45bd1c:	8b f1                	mov    %ecx,%esi
45bd1e:	85 ff                	test   %edi,%edi
45bd20:	75 11                	jne    0x45bd33
45bd22:	8b 0e                	mov    (%esi),%ecx
45bd24:	3b cb                	cmp    %ebx,%ecx
45bd26:	74 0b                	je     0x45bd33
45bd28:	85 c9                	test   %ecx,%ecx
45bd2a:	74 07                	je     0x45bd33
45bd2c:	6a 01                	push   $0x1
45bd2e:	e8 6d fb ff ff       	call   0x45b8a0
45bd33:	8b 45 0c             	mov    0xc(%ebp),%eax
45bd36:	85 c0                	test   %eax,%eax
45bd38:	75 09                	jne    0x45bd43
45bd3a:	5f                   	pop    %edi
45bd3b:	89 1e                	mov    %ebx,(%esi)
45bd3d:	5e                   	pop    %esi
45bd3e:	5b                   	pop    %ebx
45bd3f:	5d                   	pop    %ebp
45bd40:	c2 0c 00             	ret    $0xc
45bd43:	89 06                	mov    %eax,(%esi)
45bd45:	85 ff                	test   %edi,%edi
45bd47:	74 0d                	je     0x45bd56
45bd49:	68 f0 b7 45 00       	push   $0x45b7f0
45bd4e:	50                   	push   %eax
45bd4f:	8b cf                	mov    %edi,%ecx
45bd51:	e8 ba f2 ff ff       	call   0x45b010
45bd56:	5f                   	pop    %edi
45bd57:	5e                   	pop    %esi
45bd58:	5b                   	pop    %ebx
45bd59:	5d                   	pop    %ebp
45bd5a:	c2 0c 00             	ret    $0xc
45bd5d:	cc                   	int3
45bd5e:	cc                   	int3
45bd5f:	cc                   	int3
45bd60:	55                   	push   %ebp
45bd61:	8b ec                	mov    %esp,%ebp
45bd63:	0f b6 45 0c          	movzbl 0xc(%ebp),%eax
45bd67:	0f 57 c0             	xorps  %xmm0,%xmm0
45bd6a:	53                   	push   %ebx
45bd6b:	56                   	push   %esi
45bd6c:	8b f1                	mov    %ecx,%esi
45bd6e:	8d 5e 18             	lea    0x18(%esi),%ebx
45bd71:	57                   	push   %edi
45bd72:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
45bd79:	0f 11 03             	movups %xmm0,(%ebx)
45bd7c:	0f 11 43 10          	movups %xmm0,0x10(%ebx)
45bd80:	89 46 38             	mov    %eax,0x38(%esi)
45bd83:	8b 45 08             	mov    0x8(%ebp),%eax
45bd86:	89 46 44             	mov    %eax,0x44(%esi)
45bd89:	8b 45 14             	mov    0x14(%ebp),%eax
45bd8c:	c7 46 40 ff ff ff 7f 	movl   $0x7fffffff,0x40(%esi)
45bd93:	c7 46 4c 00 00 00 00 	movl   $0x0,0x4c(%esi)
45bd9a:	c7 46 50 00 00 00 00 	movl   $0x0,0x50(%esi)
45bda1:	c7 46 3c 00 00 00 00 	movl   $0x0,0x3c(%esi)
45bda8:	c7 46 48 00 00 00 80 	movl   $0x80000000,0x48(%esi)
45bdaf:	8b 38                	mov    (%eax),%edi
45bdb1:	8b 40 04             	mov    0x4(%eax),%eax
45bdb4:	89 45 0c             	mov    %eax,0xc(%ebp)
45bdb7:	c7 46 40 00 00 00 00 	movl   $0x0,0x40(%esi)
45bdbe:	83 f8 10             	cmp    $0x10,%eax
45bdc1:	7e 33                	jle    0x45bdf6
45bdc3:	83 c0 f0             	add    $0xfffffff0,%eax
45bdc6:	89 5e 08             	mov    %ebx,0x8(%esi)
45bdc9:	03 c7                	add    %edi,%eax
45bdcb:	c7 46 10 10 00 00 00 	movl   $0x10,0x10(%esi)
45bdd2:	89 46 04             	mov    %eax,0x4(%esi)
45bdd5:	b9 02 00 00 00       	mov    $0x2,%ecx
45bdda:	89 06                	mov    %eax,(%esi)
45bddc:	8b 46 38             	mov    0x38(%esi),%eax
45bddf:	83 f8 01             	cmp    $0x1,%eax
45bde2:	0f 44 c1             	cmove  %ecx,%eax
45bde5:	89 46 38             	mov    %eax,0x38(%esi)
45bde8:	8b 45 10             	mov    0x10(%ebp),%eax
45bdeb:	89 38                	mov    %edi,(%eax)
45bded:	8b c6                	mov    %esi,%eax
45bdef:	5f                   	pop    %edi
45bdf0:	5e                   	pop    %esi
45bdf1:	5b                   	pop    %ebx
45bdf2:	5d                   	pop    %ebp
45bdf3:	c2 10 00             	ret    $0x10
45bdf6:	50                   	push   %eax
45bdf7:	57                   	push   %edi
45bdf8:	53                   	push   %ebx
45bdf9:	e8 d2 6f 17 00       	call   0x5d2dd0
45bdfe:	8b 45 0c             	mov    0xc(%ebp),%eax
45be01:	83 c4 0c             	add    $0xc,%esp
45be04:	83 c0 18             	add    $0x18,%eax
45be07:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
45be0e:	03 c6                	add    %esi,%eax
45be10:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
45be17:	83 7e 38 01          	cmpl   $0x1,0x38(%esi)
45be1b:	89 46 04             	mov    %eax,0x4(%esi)
45be1e:	89 06                	mov    %eax,(%esi)
45be20:	75 08                	jne    0x45be2a
45be22:	2b fe                	sub    %esi,%edi
45be24:	83 ef 18             	sub    $0x18,%edi
45be27:	89 7e 38             	mov    %edi,0x38(%esi)
45be2a:	8b 45 10             	mov    0x10(%ebp),%eax
45be2d:	5f                   	pop    %edi
45be2e:	89 18                	mov    %ebx,(%eax)
45be30:	8b c6                	mov    %esi,%eax
45be32:	5e                   	pop    %esi
45be33:	5b                   	pop    %ebx
45be34:	5d                   	pop    %ebp
45be35:	c2 10 00             	ret    $0x10
45be38:	cc                   	int3
45be39:	cc                   	int3
45be3a:	cc                   	int3
45be3b:	cc                   	int3
45be3c:	cc                   	int3
45be3d:	cc                   	int3
45be3e:	cc                   	int3
45be3f:	cc                   	int3
45be40:	55                   	push   %ebp
45be41:	8b ec                	mov    %esp,%ebp
45be43:	83 ec 10             	sub    $0x10,%esp
45be46:	53                   	push   %ebx
45be47:	8b d9                	mov    %ecx,%ebx
45be49:	56                   	push   %esi
45be4a:	8b 75 08             	mov    0x8(%ebp),%esi
45be4d:	8b c6                	mov    %esi,%eax
45be4f:	57                   	push   %edi
45be50:	8b 0b                	mov    (%ebx),%ecx
45be52:	2b c1                	sub    %ecx,%eax
45be54:	c1 f8 03             	sar    $0x3,%eax
45be57:	89 45 f8             	mov    %eax,-0x8(%ebp)
45be5a:	8b 43 04             	mov    0x4(%ebx),%eax
45be5d:	2b c1                	sub    %ecx,%eax
45be5f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
45be62:	c1 f8 03             	sar    $0x3,%eax
45be65:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax