582d27:	e8 16 e3 05 00       	call   0x5e1042
582d2c:	83 c4 04             	add    $0x4,%esp
582d2f:	8b d0                	mov    %eax,%edx
582d31:	eb 02                	jmp    0x582d35
582d33:	33 d2                	xor    %edx,%edx
582d35:	8b 46 04             	mov    0x4(%esi),%eax
582d38:	8b 76 08             	mov    0x8(%esi),%esi
582d3b:	c1 e7 02             	shl    $0x2,%edi
582d3e:	c1 e6 02             	shl    $0x2,%esi
582d41:	89 55 fc             	mov    %edx,-0x4(%ebp)
582d44:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
582d47:	03 fa                	add    %edx,%edi
582d49:	2b f1                	sub    %ecx,%esi
582d4b:	03 f0                	add    %eax,%esi
582d4d:	56                   	push   %esi
582d4e:	51                   	push   %ecx
582d4f:	57                   	push   %edi
582d50:	e8 2b 07 06 00       	call   0x5e3480
582d55:	8b 4d f8             	mov    -0x8(%ebp),%ecx
582d58:	8d 04 3e             	lea    (%esi,%edi,1),%eax
582d5b:	8b 75 f4             	mov    -0xc(%ebp),%esi
582d5e:	83 c4 0c             	add    $0xc,%esp
582d61:	89 45 f0             	mov    %eax,-0x10(%ebp)
582d64:	8b 56 04             	mov    0x4(%esi),%edx
582d67:	3b cb                	cmp    %ebx,%ecx
582d69:	77 33                	ja     0x582d9e
582d6b:	8d 3c 8d 00 00 00 00 	lea    0x0(,%ecx,4),%edi
582d72:	57                   	push   %edi
582d73:	52                   	push   %edx
582d74:	50                   	push   %eax
582d75:	e8 06 07 06 00       	call   0x5e3480
582d7a:	8b c3                	mov    %ebx,%eax
582d7c:	2b 45 f8             	sub    -0x8(%ebp),%eax
582d7f:	c1 e0 02             	shl    $0x2,%eax
582d82:	50                   	push   %eax
582d83:	8b 45 f0             	mov    -0x10(%ebp),%eax
582d86:	03 c7                	add    %edi,%eax
582d88:	6a 00                	push   $0x0
582d8a:	50                   	push   %eax
582d8b:	e8 70 0c 06 00       	call   0x5e3a00
582d90:	57                   	push   %edi
582d91:	8b 7d fc             	mov    -0x4(%ebp),%edi
582d94:	6a 00                	push   $0x0
582d96:	57                   	push   %edi
582d97:	e8 64 0c 06 00       	call   0x5e3a00
582d9c:	eb 3f                	jmp    0x582ddd
582d9e:	8d 3c 9d 00 00 00 00 	lea    0x0(,%ebx,4),%edi
582da5:	57                   	push   %edi
582da6:	52                   	push   %edx
582da7:	50                   	push   %eax
582da8:	e8 d3 06 06 00       	call   0x5e3480
582dad:	8b 76 04             	mov    0x4(%esi),%esi
582db0:	8b 55 f8             	mov    -0x8(%ebp),%edx
582db3:	8d 04 37             	lea    (%edi,%esi,1),%eax
582db6:	2b f0                	sub    %eax,%esi
582db8:	8d 0c 95 00 00 00 00 	lea    0x0(,%edx,4),%ecx
582dbf:	03 f1                	add    %ecx,%esi
582dc1:	56                   	push   %esi
582dc2:	50                   	push   %eax
582dc3:	ff 75 fc             	push   -0x4(%ebp)
582dc6:	e8 b5 06 06 00       	call   0x5e3480
582dcb:	57                   	push   %edi
582dcc:	8b 7d fc             	mov    -0x4(%ebp),%edi
582dcf:	6a 00                	push   $0x0
582dd1:	8d 04 3e             	lea    (%esi,%edi,1),%eax
582dd4:	50                   	push   %eax
582dd5:	e8 26 0c 06 00       	call   0x5e3a00
582dda:	8b 75 f4             	mov    -0xc(%ebp),%esi
582ddd:	8b 46 04             	mov    0x4(%esi),%eax
582de0:	83 c4 24             	add    $0x24,%esp
582de3:	85 c0                	test   %eax,%eax
582de5:	74 2a                	je     0x582e11
582de7:	8b 4e 08             	mov    0x8(%esi),%ecx
582dea:	c1 e1 02             	shl    $0x2,%ecx
582ded:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
582df3:	72 12                	jb     0x582e07
582df5:	8b 50 fc             	mov    -0x4(%eax),%edx
582df8:	83 c1 23             	add    $0x23,%ecx
582dfb:	2b c2                	sub    %edx,%eax
582dfd:	83 c0 fc             	add    $0xfffffffc,%eax
582e00:	83 f8 1f             	cmp    $0x1f,%eax
582e03:	77 22                	ja     0x582e27
582e05:	8b c2                	mov    %edx,%eax
582e07:	51                   	push   %ecx
582e08:	50                   	push   %eax
582e09:	e8 64 e2 05 00       	call   0x5e1072
582e0e:	83 c4 08             	add    $0x8,%esp
582e11:	01 5e 08             	add    %ebx,0x8(%esi)
582e14:	89 7e 04             	mov    %edi,0x4(%esi)
582e17:	5f                   	pop    %edi
582e18:	5e                   	pop    %esi
582e19:	5b                   	pop    %ebx
582e1a:	8b e5                	mov    %ebp,%esp
582e1c:	5d                   	pop    %ebp
582e1d:	c2 04 00             	ret    $0x4
582e20:	8b ce                	mov    %esi,%ecx
582e22:	e8 39 92 ed ff       	call   0x45c060
582e27:	e8 03 a1 06 00       	call   0x5ecf2f
582e2c:	e8 af 20 ec ff       	call   0x444ee0
582e31:	cc                   	int3
582e32:	cc                   	int3
582e33:	cc                   	int3
582e34:	cc                   	int3
582e35:	cc                   	int3
582e36:	cc                   	int3
582e37:	cc                   	int3
582e38:	cc                   	int3
582e39:	cc                   	int3
582e3a:	cc                   	int3
582e3b:	cc                   	int3
582e3c:	cc                   	int3
582e3d:	cc                   	int3
582e3e:	cc                   	int3
582e3f:	cc                   	int3
582e40:	53                   	push   %ebx
582e41:	57                   	push   %edi
582e42:	8b f9                	mov    %ecx,%edi
582e44:	8b 1f                	mov    (%edi),%ebx
582e46:	85 db                	test   %ebx,%ebx
582e48:	74 38                	je     0x582e82
582e4a:	8b 43 1c             	mov    0x1c(%ebx),%eax
582e4d:	8b 08                	mov    (%eax),%ecx
582e4f:	85 c9                	test   %ecx,%ecx
582e51:	74 0d                	je     0x582e60
582e53:	8b 43 2c             	mov    0x2c(%ebx),%eax
582e56:	83 38 00             	cmpl   $0x0,(%eax)
582e59:	7e 05                	jle    0x582e60
582e5b:	0f b6 01             	movzbl (%ecx),%eax
582e5e:	eb 13                	jmp    0x582e73
582e60:	8b 03                	mov    (%ebx),%eax
582e62:	56                   	push   %esi
582e63:	8b 70 18             	mov    0x18(%eax),%esi
582e66:	8b ce                	mov    %esi,%ecx
582e68:	ff 15 e0 24 68 00    	call   *0x6824e0
582e6e:	8b cb                	mov    %ebx,%ecx
582e70:	ff d6                	call   *%esi
582e72:	5e                   	pop    %esi
582e73:	83 f8 ff             	cmp    $0xffffffff,%eax
582e76:	74 0a                	je     0x582e82
582e78:	88 47 05             	mov    %al,0x5(%edi)
582e7b:	c6 47 04 01          	movb   $0x1,0x4(%edi)
582e7f:	5f                   	pop    %edi
582e80:	5b                   	pop    %ebx
582e81:	c3                   	ret
582e82:	8a 47 05             	mov    0x5(%edi),%al
582e85:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
582e8b:	c6 47 04 01          	movb   $0x1,0x4(%edi)
582e8f:	5f                   	pop    %edi
582e90:	5b                   	pop    %ebx
582e91:	c3                   	ret
582e92:	cc                   	int3
582e93:	cc                   	int3
582e94:	cc                   	int3
582e95:	cc                   	int3
582e96:	cc                   	int3
582e97:	cc                   	int3
582e98:	cc                   	int3
582e99:	cc                   	int3
582e9a:	cc                   	int3
582e9b:	cc                   	int3
582e9c:	cc                   	int3
582e9d:	cc                   	int3
582e9e:	cc                   	int3
582e9f:	cc                   	int3
582ea0:	56                   	push   %esi
582ea1:	8b f1                	mov    %ecx,%esi
582ea3:	57                   	push   %edi
582ea4:	8b 4e 10             	mov    0x10(%esi),%ecx
582ea7:	85 c9                	test   %ecx,%ecx
582ea9:	74 73                	je     0x582f1e
582eab:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
582eb0:	8b 46 0c             	mov    0xc(%esi),%eax
582eb3:	48                   	dec    %eax
582eb4:	03 c8                	add    %eax,%ecx
582eb6:	8b 46 08             	mov    0x8(%esi),%eax
582eb9:	48                   	dec    %eax
582eba:	23 c8                	and    %eax,%ecx
582ebc:	8b 46 04             	mov    0x4(%esi),%eax
582ebf:	8b 3c 88             	mov    (%eax,%ecx,4),%edi
582ec2:	8b 4f 20             	mov    0x20(%edi),%ecx
582ec5:	83 f9 10             	cmp    $0x10,%ecx
582ec8:	72 2c                	jb     0x582ef6
582eca:	8b 47 0c             	mov    0xc(%edi),%eax
582ecd:	41                   	inc    %ecx
582ece:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
582ed4:	72 16                	jb     0x582eec
582ed6:	8b 50 fc             	mov    -0x4(%eax),%edx
582ed9:	83 c1 23             	add    $0x23,%ecx
582edc:	2b c2                	sub    %edx,%eax
582ede:	83 c0 fc             	add    $0xfffffffc,%eax
582ee1:	83 f8 1f             	cmp    $0x1f,%eax
582ee4:	0f 87 97 00 00 00    	ja     0x582f81
582eea:	8b c2                	mov    %edx,%eax
582eec:	51                   	push   %ecx
582eed:	50                   	push   %eax
582eee:	e8 7f e1 05 00       	call   0x5e1072
582ef3:	83 c4 08             	add    $0x8,%esp
582ef6:	c7 47 1c 00 00 00 00 	movl   $0x0,0x1c(%edi)
582efd:	c7 47 20 0f 00 00 00 	movl   $0xf,0x20(%edi)
582f04:	c6 47 0c 00          	movb   $0x0,0xc(%edi)
582f08:	8b 4e 10             	mov    0x10(%esi),%ecx
582f0b:	83 e9 01             	sub    $0x1,%ecx
582f0e:	89 4e 10             	mov    %ecx,0x10(%esi)
582f11:	75 07                	jne    0x582f1a
582f13:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
582f1a:	85 c9                	test   %ecx,%ecx
582f1c:	75 92                	jne    0x582eb0
582f1e:	8b 7e 08             	mov    0x8(%esi),%edi
582f21:	85 ff                	test   %edi,%edi
582f23:	74 1a                	je     0x582f3f
582f25:	8b 46 04             	mov    0x4(%esi),%eax
582f28:	4f                   	dec    %edi
582f29:	8b 04 b8             	mov    (%eax,%edi,4),%eax
582f2c:	85 c0                	test   %eax,%eax
582f2e:	74 0b                	je     0x582f3b
582f30:	6a 28                	push   $0x28
582f32:	50                   	push   %eax
582f33:	e8 3a e1 05 00       	call   0x5e1072
582f38:	83 c4 08             	add    $0x8,%esp
582f3b:	85 ff                	test   %edi,%edi
582f3d:	75 e6                	jne    0x582f25
582f3f:	8b 46 04             	mov    0x4(%esi),%eax
582f42:	85 c0                	test   %eax,%eax
582f44:	74 2a                	je     0x582f70
582f46:	8b 4e 08             	mov    0x8(%esi),%ecx
582f49:	c1 e1 02             	shl    $0x2,%ecx
582f4c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
582f52:	72 12                	jb     0x582f66
582f54:	8b 50 fc             	mov    -0x4(%eax),%edx
582f57:	83 c1 23             	add    $0x23,%ecx
582f5a:	2b c2                	sub    %edx,%eax
582f5c:	83 c0 fc             	add    $0xfffffffc,%eax
582f5f:	83 f8 1f             	cmp    $0x1f,%eax
582f62:	77 1d                	ja     0x582f81
582f64:	8b c2                	mov    %edx,%eax
582f66:	51                   	push   %ecx
582f67:	50                   	push   %eax
582f68:	e8 05 e1 05 00       	call   0x5e1072
582f6d:	83 c4 08             	add    $0x8,%esp
582f70:	5f                   	pop    %edi
582f71:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
582f78:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
582f7f:	5e                   	pop    %esi
582f80:	c3                   	ret
582f81:	e8 a9 9f 06 00       	call   0x5ecf2f
582f86:	cc                   	int3
582f87:	cc                   	int3
582f88:	cc                   	int3
582f89:	cc                   	int3
582f8a:	cc                   	int3
582f8b:	cc                   	int3
582f8c:	cc                   	int3
582f8d:	cc                   	int3
582f8e:	cc                   	int3
582f8f:	cc                   	int3
582f90:	55                   	push   %ebp
582f91:	8b ec                	mov    %esp,%ebp
582f93:	6a ff                	push   $0xffffffff
582f95:	68 38 d0 65 00       	push   $0x65d038
582f9a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
582fa0:	50                   	push   %eax
582fa1:	83 ec 2c             	sub    $0x2c,%esp
582fa4:	a1 d4 89 72 00       	mov    0x7289d4,%eax
582fa9:	33 c5                	xor    %ebp,%eax
582fab:	89 45 f0             	mov    %eax,-0x10(%ebp)
582fae:	56                   	push   %esi
582faf:	57                   	push   %edi
582fb0:	50                   	push   %eax
582fb1:	8d 45 f4             	lea    -0xc(%ebp),%eax
582fb4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
582fba:	8b f1                	mov    %ecx,%esi
582fbc:	8b 55 08             	mov    0x8(%ebp),%edx
582fbf:	8b 45 0c             	mov    0xc(%ebp),%eax
582fc2:	8b 7d 10             	mov    0x10(%ebp),%edi
582fc5:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
582fcc:	c7 45 e8 0f 00 00 00 	movl   $0xf,-0x18(%ebp)
582fd3:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)
582fd7:	f3 0f 7e 00          	movq   (%eax),%xmm0
582fdb:	8b 40 08             	mov    0x8(%eax),%eax
582fde:	89 45 d0             	mov    %eax,-0x30(%ebp)
582fe1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
582fe4:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
582feb:	66 0f d6 45 c8       	movq   %xmm0,-0x38(%ebp)
582ff0:	3b c2                	cmp    %edx,%eax
582ff2:	74 16                	je     0x58300a
582ff4:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
582ff8:	8b c2                	mov    %edx,%eax
582ffa:	72 02                	jb     0x582ffe
582ffc:	8b 02                	mov    (%edx),%eax
582ffe:	ff 72 10             	push   0x10(%edx)
583001:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
583004:	50                   	push   %eax
583005:	e8 36 22 ec ff       	call   0x445240
58300a:	8d 45 c8             	lea    -0x38(%ebp),%eax
58300d:	89 7d ec             	mov    %edi,-0x14(%ebp)
583010:	50                   	push   %eax
583011:	8d 4e 14             	lea    0x14(%esi),%ecx
583014:	e8 57 15 00 00       	call   0x584570
583019:	8b 55 e8             	mov    -0x18(%ebp),%edx
58301c:	83 fa 10             	cmp    $0x10,%edx
58301f:	72 28                	jb     0x583049
583021:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
583024:	42                   	inc    %edx
583025:	8b c1                	mov    %ecx,%eax
583027:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
58302d:	72 10                	jb     0x58303f
58302f:	8b 49 fc             	mov    -0x4(%ecx),%ecx
583032:	83 c2 23             	add    $0x23,%edx
583035:	2b c1                	sub    %ecx,%eax
583037:	83 c0 fc             	add    $0xfffffffc,%eax
58303a:	83 f8 1f             	cmp    $0x1f,%eax
58303d:	77 29                	ja     0x583068
58303f:	52                   	push   %edx
583040:	51                   	push   %ecx
583041:	e8 2c e0 05 00       	call   0x5e1072
583046:	83 c4 08             	add    $0x8,%esp
583049:	32 c0                	xor    %al,%al
58304b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
58304e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
583055:	59                   	pop    %ecx
583056:	5f                   	pop    %edi
583057:	5e                   	pop    %esi
583058:	8b 4d f0             	mov    -0x10(%ebp),%ecx
58305b:	33 cd                	xor    %ebp,%ecx
58305d:	e8 78 e4 05 00       	call   0x5e14da
583062:	8b e5                	mov    %ebp,%esp
583064:	5d                   	pop    %ebp
583065:	c2 0c 00             	ret    $0xc
583068:	e8 c2 9e 06 00       	call   0x5ecf2f
58306d:	cc                   	int3
58306e:	cc                   	int3
58306f:	cc                   	int3
583070:	55                   	push   %ebp
583071:	8b ec                	mov    %esp,%ebp
583073:	6a ff                	push   $0xffffffff
583075:	68 79 d0 65 00       	push   $0x65d079
58307a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
583080:	50                   	push   %eax
583081:	51                   	push   %ecx
583082:	53                   	push   %ebx
583083:	56                   	push   %esi
583084:	a1 d4 89 72 00       	mov    0x7289d4,%eax
583089:	33 c5                	xor    %ebp,%eax
58308b:	50                   	push   %eax
58308c:	8d 45 f4             	lea    -0xc(%ebp),%eax
58308f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
583095:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
58309c:	8b 75 08             	mov    0x8(%ebp),%esi
58309f:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
5830a6:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)